Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL para gerar o número da linha nos resultados de uma consulta


Depende do banco de dados que você está usando. Uma opção que funciona para SQL Server, Oracle e MySQL:
SELECT ROW_NUMBER() OVER (ORDER BY SomeField) AS Row, *
FROM SomeTable

Alterar SomeField e SomeTable está de acordo com sua tabela específica e campo relevante para ordenar. É preferível que SomeField seja único no contexto da consulta, naturalmente.

No seu caso, a consulta seria a seguinte (Faiz criou essa consulta primeiro):
SELECT ROW_NUMBER() OVER (ORDER BY client_name) AS row_number, client_name
FROM (SELECT DISTINCT client_name FROM deliveries) TempTable

Eu acho que não vai funcionar para SQLite (se alguém puder me corrigir aqui eu ficaria grato), não tenho certeza qual é a alternativa lá.