Utilizzo del numero di riga in Sql Server
Per ottenere il numero di riga ROW_NUMBER(), in una vista o tabella, in sql risulta comodo per “partizionare” i nostri dati.
Come funziona
Creiamo una tabella di esempio
CREATE TABLE test_row ( ID int NOT NULL, Nome nvarchar(100) NULL, Cognome nvarchar(100) NULL, Eta int NULL ) ON [PRIMARY] GO ALTER TABLE test_row ADD CONSTRAINT PK_test_row PRIMARY KEY CLUSTERED ( ID ) ON [PRIMARY]
Aggiungiamo tre record di esempio
insert into test_row (ID,Nome,Cognome,Eta) values (1,'Mario', 'Rossi',56)
insert into test_row (ID,Nome,Cognome,Eta) values (2,'Giuseppe', 'Verdi',42)
insert into test_row (ID,Nome,Cognome,Eta) values (3,'Luca', 'Bianchi',37)
Utilizziamo la funzione Sql ROW_NUMBER() per avere il numero di riga in funzione di un ordinamento
SELECT
ROW_NUMBER() OVER(ORDER BY Nome ASC) AS Riga,
Nome, Cognome,Eta
FROM test_row
La sintassi è semplicissima: ROW_NUMBER() OVER (<regola di ordinamento>)
La regola di ordinamento può anche essere composta con più campi:
SELECT ROW_NUMBER() OVER(ORDER BY Nome ASC, Cognome ASC) AS Riga, Nome, Cognome,Eta FROM test_row