

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Función de ventana ROW\$1NUMBER
<a name="r_WF_ROW_NUMBER"></a>

Asigna un número ordinal de la fila actual en un grupo de filas, contando desde 1, según la expresión ORDER BY en la cláusula OVER. Si hay una cláusula opcional PARTITION BY, los números ordinales se restablecen para cada grupo de filas. Las filas con valores iguales para las expresiones ORDER BY reciben los diferentes números de fila de manera no determinística. 

## Sintaxis
<a name="r_WF_ROW_NUMBER-synopsis"></a>

```
ROW_NUMBER() OVER(
  [ PARTITION BY expr_list ]
  [ ORDER BY order_list ]
)
```

## Argumentos
<a name="r_WF_ROW_NUMBER-arguments"></a>

( )   
La función no toma argumentos, pero se necesitan los paréntesis vacíos. 

OVER   
La cláusula de la función de ventana para la función ROW\$1NUMBER. 

PARTITION BY *expr\$1list*   
Opcional. Una o varias expresiones de columna que dividen los resultados en conjuntos de filas. 

ORDER BY *order\$1list*   
Opcional. Una o más expresiones de columna que definen el orden de las filas de un conjunto. Si no se especifica PARTITION BY, ORDER BY utiliza toda la tabla.   
Si ORDER BY no produce una ordenación única o se omite, el orden de las filas no es determinístico. Para obtener más información, consulte [Ordenación única de datos para funciones de ventana](c_Window_functions.md#r_Examples_order_by_WF). 

## Tipo de retorno
<a name="c_Supported_data_types_r_WF_ROW_NUMBER"></a>

BIGINT

## Ejemplos
<a name="r_WF_ROW_NUMBER-examples"></a>

En los siguientes ejemplos se usa la tabla `WINSALES`. Para ver una descripción de la tabla `WINSALES`, consulte [Tabla de muestra para ejemplos de funciones de ventana](c_Window_functions.md#r_Window_function_example). 

En el siguiente ejemplo se ordena la tabla por QTY (en orden ascendente) y, a continuación, se asigna un número de fila a cada fila. Los resultados se ordenan después de que se apliquen los resultados de la función de ventana. 

```
SELECT salesid, sellerid, qty, 
ROW_NUMBER() OVER(
   ORDER BY qty ASC) AS row
FROM winsales
ORDER BY 4,1;

salesid   sellerid   qty   row
---------+----------+-----+-----
   30001 |        3 |  10 |   1	
   10001 |        1 |  10 |   2	
   10006 |        1 |  10 |   3
   40005 |        4 |  10 |   4
   30003 |        3 |  15 |   5
   20001 |        2 |  20 |   6
   20002 |        2 |  20 |   7
   30004 |        3 |  20 |   8
   10005 |        1 |  30 |   9
   30007 |        3 |  30 |  10
   40001 |        4 |  40 |  11
```

En el siguiente ejemplo, se particiona la tabla según SELLERID y se ordena cada partición según QTY (en orden ascendiente); luego, se asigna un número a cada fila. Los resultados se ordenan después de que se apliquen los resultados de la función de ventana. 

```
SELECT salesid, sellerid, qty, 
ROW_NUMBER() OVER(
  PARTITION BY sellerid
  ORDER BY qty ASC) AS row_by_seller
FROM winsales
ORDER BY 2,4;

 salesid | sellerid | qty | row_by_seller
---------+----------+-----+-----
   10001 |        1 |  10 |   1
   10006 |        1 |  10 |   2
   10005 |        1 |  30 |   3
   20001 |        2 |  20 |   1
   20002 |        2 |  20 |   2
   30001 |        3 |  10 |   1
   30003 |        3 |  15 |   2
   30004 |        3 |  20 |   3
   30007 |        3 |  30 |   4
   40005 |        4 |  10 |   1
   40001 |        4 |  40 |   2
```

En el siguiente ejemplo se muestran los resultados cuando no se utilizan las cláusulas opcionales. 

```
SELECT salesid, sellerid, qty, ROW_NUMBER() OVER() AS row
FROM winsales
ORDER BY 4,1;

salesid   sellerid   qty   row
---------+----------+-----+-----
   30001 |        3 |  10 |   1	
   10001 |        1 |  10 |   2	
   10005 |        1 |  30 |   3
   40001 |        4 |  40 |   4
   10006 |        1 |  10 |   5
   20001 |        2 |  20 |   6
   40005 |        4 |  10 |   7
   20002 |        2 |  20 |   8
   30003 |        3 |  15 |   9
   30004 |        3 |  20 |  10
   30007 |        3 |  30 |  11
```