2011-04-13 10 views
10

Por favor, ayúdeme con la consulta en Mysql .. Estoy teniendo la tabla contiene muchas filas. Ahora quiero recuperar las 5 filas de esa tabla.cómo seleccionar los 5 valores máximos máximos en mytable

requisito es mi top 5 valores máximos de esa tabla "nombre de la columna es la cantidad" Quiero seleccionar de que los registros de table.outof N que necesito la parte superior un máximo de 5 registros de la tabla

Agradeciendo,

Respuesta

24

Justo ordenar las filas por cantidad (descendente) y tomar el top 5:

SELECT amount FROM mytable ORDER BY amount DESC LIMIT 5 

tenga en cuenta que esto se traducirá en un escaneo completo de tabla a menos que tenga un índice en la columna de la amount. Esto podría afectar el rendimiento si el número de filas en la tabla es muy grande (es decir, muchos miles).

+0

Tienes una pregunta rápida aquí, ¿qué tal si los tres primeros usuarios tienen el mismo valor 'cantidad'? y el descanso son diferentes y, por lo tanto, quiero seleccionar los 7 principales (los tres primeros conteos como uno) y luego los siguientes 4? – MJoraid

2

SELECT * FROM table ORDER BY amount DESC LIMIT 5;

Cuestiones relacionadas