2011-04-21 6 views
34

Tengo una tabla con algunos registros con campos como el nombre, la calificación etc.nivel múltiple ordenar

primero quiero clasificar según clasificación limitar los resultados a 20 y luego en este conjunto de resultados que desee más de aplicar un orden basado en el nombre .

que conozco para ordenar tenemos que utilizar la consulta como

Select * from table order by rating Desc limit 20 

pero en este conjunto de resultados cómo aplicar otro nivel de pedidos? ¿Cómo puedo combinar estos dos géneros en una declaración sqlite?

Respuesta

96

Puede usar, p. ORDER BY rating DESC, name ASC para ordenar por clasificación y luego, si las calificaciones son iguales, por nombre.

+0

en SQL 'ASC' valor predeterminado es lo que puede ser' ORDER BY DESC calificación, name' –

+0

@VasileDoe: Sí se puede, y yo creo que es muy Es feo hacerlo si tiene algo que no sea ASC dentro de la misma declaración. – ThiefMaster

14

Esta consulta debe hacer el truco:

SELECT * FROM (SELECT * FROM table ORDER BY rating DESC LIMIT 20) ORDER BY name