SQL rango

SQL rango
La clasificación en SQL le permite calcular el rango de cada registro dentro de una partición dentro de un conjunto de resultados.

El rango () devolverá un índice basado en 1 para cada registro en una partición ordenada en SQL estándar. Recuerde que la función asignará el mismo valor de rango a las particiones con valores similares.

El número de valores de rango anteriores incrementa cada valor de rango de fila consecuente. Si desea incrementar el valor de rango en 1, use la función dense_rank ().

Sintaxis de la función rank ()

La sintaxis para la función de rango es como se muestra a continuación:

Rank () Over (
[Partición por expresión,]
Orden por expresión (ASC | Desc));
);

Para ilustrar cómo usar esta función, considere el siguiente ejemplo:

crear usuarios de tabla (
ID Clave primaria en serie,
First_Name Varchar (100),
Last_Name Varchar (100),
Estado Varchar (25),
bool activo
);
Insertar en los valores de usuarios (First_Name, Last_Name, State, Active) (
'Mary', 'Smith', 'Nueva York', verdadero);
Insertar en los valores de usuarios (First_Name, Last_Name, State, Active) (
'Linda', 'Williams', 'Colorado', falso);
Insertar en los valores de usuarios (First_Name, Last_Name, State, Active) (
'Taylor', 'Moore', 'Utah', verdadero);
Insertar en los valores de usuarios (First_Name, Last_Name, State, Active) (
'Susan', 'Wilson', 'Washington', verdadero);
Insertar en los valores de usuarios (First_Name, Last_Name, State, Active) (
'Mary', 'Smith', 'Nueva York', verdadero);
Insertar en los valores de usuarios (First_Name, Last_Name, State, Active) (
'Taylor', 'Moore', 'Utah', verdadero);

Las consultas anteriores crean e insertan datos de muestra en la tabla.

Para asignar un rango a los registros en el conjunto de resultados, podemos usar la función Rank () como se ilustra a continuación.

Seleccione ID, First_Name, Last_Name, State, Active,
rank () Over (Partition por orden activo por id) rank_value
De los usuarios;

En la consulta anterior, dividimos los datos por la columna activa. La columna contiene valores booleanos. Luego clasificamos cada artículo en las particiones.

El conjunto resultante es como se muestra:

Tenga en cuenta que el resultado contiene dos particiones, una que contiene valores falsos y el otro que contiene valores verdaderos.

En la partición "falsa", la función asigna los valores de rango. El mismo caso para la partición "verdadera". Tenga en cuenta que la función comienza el valor de rango de 1 en una nueva partición.

Clausura

Este tutorial le mostró cómo realizar la clasificación de la fila mediante la partición usando la función de rango (). Verifique la documentación del motor de su base de datos para obtener más información.

Gracias por leer!!