Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL do wyprowadzenia numeru wiersza w wynikach zapytania

To zależy od używanej bazy danych. Jedna opcja, która działa dla SQL Server, Oracle i MySQL:

SELECT ROW_NUMBER() OVER (ORDER BY SomeField) AS Row, *
FROM SomeTable

Zmień SomeField i SomeTable zgodnie z konkretną tabelą i odpowiednim polem do zamówienia. Preferowane jest, aby SomeField było oczywiście unikatowe w kontekście zapytania.

W twoim przypadku zapytanie wyglądałoby następująco (Faiz najpierw stworzył takie zapytanie):

SELECT ROW_NUMBER() OVER (ORDER BY client_name) AS row_number, client_name
FROM (SELECT DISTINCT client_name FROM deliveries) TempTable

Myślę, że to nie zadziała dla SQLite (jeśli ktoś może mnie tutaj poprawić, byłbym wdzięczny), nie jestem pewien, jaka jest tam alternatywa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zainstalować SSMS

  2. SQL NVARCHAR i limity VARCHAR

  3. SQL:użyj klauzuli WHERE w OVER()?

  4. Count(*) vs Count(Id) w serwerze sql 2005

  5. Import SQL XML:oczekiwano XQuery [wartość()]:)