

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Funzione finestra ROW\$1NUMBER
<a name="r_WF_ROW_NUMBER"></a>

Assegna un numero ordinale di una riga corrente in un gruppo di righe, contando da 1, in base all'espressione ORDER BY nella clausola OVER. Se è presente la clausola PARTITION BY facoltativa, i numeri ordinali vengono ripristinati per ciascun gruppo di righe. Le righe con valori uguali per le espressioni ORDER BY ricevono i numeri di riga diversi in modo non deterministico. 

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

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

## Arguments (Argomenti)
<a name="r_WF_ROW_NUMBER-arguments"></a>

( )   
La funzione non accetta argomenti, ma le parentesi vuote sono obbligatorie. 

OVER   
La clausola finestra per la funzione ROW\$1NUMBER. 

PARTITION BY *expr\$1list*   
Opzionale. Una o più espressioni di colonna che dividono i risultati in serie di righe. 

ORDER BY *order\$1list*   
Opzionale. Una o più espressioni di colonna che definiscono l'ordine delle righe all'interno di un set. Se non viene specificato nessun PARTITION BY, ORDER BY utilizza l'intera tabella.   
Se ORDER BY non produce un ordinamento univoco o viene omesso, l'ordine delle righe non è deterministico. Per ulteriori informazioni, consultare [Ordinamento univoco dei dati per le funzioni finestra](c_Window_functions.md#r_Examples_order_by_WF). 

## Tipo restituito
<a name="c_Supported_data_types_r_WF_ROW_NUMBER"></a>

BIGINT

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

Gli esempi seguenti usano la tabella `WINSALES`. Per una descrizione della tabella `WINSALES`, consulta [Tabella di esempio per gli esempi della funzione finestra](c_Window_functions.md#r_Window_function_example). 

L'esempio seguente esegue ordina la tabella in base a QTY (in ordine crescente), quindi assegna un numero di riga a ogni riga. I risultati vengono ordinati dopo aver applicato i risultati della funzione finestra. 

```
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
```

L'esempio seguente esegue la partizione della tabella in SELLERID e ordina ciascuna partizione in base a QTY (in ordine crescente), quindi assegna un numero di riga a ogni riga. I risultati vengono ordinati dopo aver applicato i risultati della funzione finestra. 

```
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
```

L'esempio seguente mostra i risultati quando non si utilizzano le clausole opzionali. 

```
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
```