Resumen: En este tutorial, aprenderá a usar la función SQLite RANK()
para calcular los rangos de las filas en el conjunto de resultados de una consulta.
Introducción a la función SQLite RANK ()
la función RANK()
es una función de ventana que asigna un rango a cada fila en el conjunto de resultados de una consulta. El rango de una fila se calcula por uno más el número de rangos que viene antes.,
lo siguiente muestra la sintaxis de la función RANK()
:
en esta sintaxis:
- Primero, la cláusula
PARTITION BY
divide las filas del conjunto de resultados en particiones. - En segundo lugar, la cláusula
ORDER BY
especifica el orden de las filas en cada partición A. - En tercer lugar, la función
RANK()
se aplica a cada fila en cada partición y se reinicializa al cruzar el límite de la partición.
los mismos valores de columna recibirán los mismos rangos., Cuando varias filas tienen el mismo rango, el rango de la siguiente fila no es consecutivo. Esto es como la medalla olímpica en la que si dos atletas comparten la medalla de oro, no habrá medalla de plata.,913ee4e2a9″>
Tercer lugar, la consulta de los datos de la etiqueta RankDemo
tabla:
el Cuarto, el uso de la etiqueta RANK()
función para asignar rangos a las filas del conjunto de resultados de RankDemo
tabla:
este es el resultado:
Como se puede ver claramente desde la salida de la tercera y cuarta filas recibir el mismo rango, porque tienen el mismo valor., La quinta fila obtiene el rango 5 porque la función RANK()
omite el rango 4.
ejemplos de funciones SQLite RANK ()
para demostrar la función RANK()
, usaremos la tabla tracks
de la base de datos de muestra.,
Using SQLite RANK() function with ORDER BY clause example
la siguiente instrucción utiliza la función RANK()
clasificar las pistas por su longitud:
en este ejemplo, nos saltamos la cláusula PARTITION BY
, por lo tanto, la función RANK()
trata todo el conjunto de resultados como una sola partición.
primero, la cláusulaORDER BY
ordena las pistas por su longitud (columnaMilliseconds
).,
en segundo lugar, la función RANK()
se aplica a cada fila del conjunto de resultados considerando el orden de las pistas por su longitud.,
usando la función SQLite RANK() con partición por ejemplo
la siguiente instrucción usa la función RANK()
para asignar un rango a cada pista en cada álbum:
la siguiente imagen muestra la salida parcial:
en este ejemplo:
- Primero, la cláusula
PARTITION BY
divide las pistas en álbumes. - Luego, la cláusula
ORDER BY
ordena las pistas por su longitud., - Finalmente, la función
RANK()
asigna un rango a cada pista en cada álbum. Si el álbum cambia, la funciónRANK()
vuelve a inicializar el valor de rango.
es posible encontrar el segundo más largo de la pista en cada álbum mediante el siguiente subconsulta:
El resultado es el siguiente:
En este tutorial, usted ha aprendido a utilizar SQLite RANK()
función para asignar una calificación a cada fila de un conjunto de resultados.,
- ¿Fue útil este tutorial ?
- YesNo