subconsultas repetidos registros ejemplos datos consultas avanzadas agrupar agrupadas sql mysql

repetidos - ¿Cuál es la mejor forma de generar rangos en MYSQL?



having sql (2)

Esto devolverá el rango de los estudiantes, la identificación del estudiante y el GPA.

set @rownum := 0; SELECT @rownum := @rownum + 1 AS rank, student_id, gpa FROM `students` ORDER BY gpa DESC

¿Cuál es la mejor manera de obtener el rango de las filas además de los datos de fila en MYSQL?

Por ejemplo, supongamos que tengo una lista de estudiantes y quiero clasificar en el GPA. Sé que puedo ordenar por el GPA, pero ¿cuál es la forma más rápida de que MYSQL devuelva el rango también en los rowdata que obtengo?


Esto devolverá el rango como rownum

SELECT @rownum := @rownum + 1 rownum, t.* FROM (SELECT @rownum:=0) r, (SELECT * FROM students ORDER BY gpa DESC) t;