Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL за извеждане на номер на ред в резултатите от заявка

Зависи от базата данни, която използвате. Една опция, която работи за SQL Server, Oracle и MySQL:

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

Промяната на SomeField и SomeTable е според вашата конкретна таблица и съответното поле, по което да подреждате. За предпочитане е SomeField да е уникален в контекста на заявката, естествено.

Във вашия случай заявката ще бъде както следва (Faiz първо създаде такава заявка):

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

Мисля, че няма да работи за SQLite (ако някой може да ме коригира тук, ще съм благодарен), не съм сигурен каква е алтернативата там.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Сравнение на дата и час на SQL Server в различни формати

  2. Как да изтрия всички редове от всички таблици в база данни на SQL Server?

  3. SQL израз - Как може да се подобри скоростта с индексиране

  4. Как мога да посоча намек за индекс в Entity Framework?

  5. SQL Server:Трябва ли всички числа да бъдат посочени с латински цифри?