SQL для вывода номера строки в результатах запроса

Я уверен, что это могло помочь до некоторой степени cxx средство проверки . Также этот инструмент, кажется, довольно хорош KWStyle, который Это от Kitware, парни, которые разрабатывают Cmake.

23
задан madewulf 19 August 2009 в 08:56
поделиться

3 ответа

Это зависит от базы данных, которую вы используете. Один из вариантов, который работает для SQL Server, Oracle и MySQL:

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

Изменить SomeField и SomeTable в соответствии с вашей конкретной таблицей и соответствующим полем для сортировки. Естественно, предпочтительно, чтобы SomeField был уникальным в контексте запроса.

В вашем случае запрос будет следующим (Фаиз первым создал такой запрос):

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

Я думаю, что это не сработает для SQLite ( если кто-то может поправить меня здесь буду признателен) я не уверен, какая там альтернатива.

36
ответ дан 29 November 2019 в 02:04
поделиться

. Для этого можно использовать функцию ROW_NUMBER . Проверьте его синтаксис здесь http://msdn.microsoft.com/en-us/library/ms186734.aspx

SELECT FirstName, LastName, ROW_NUMBER() OVER(ORDER BY FirstName) AS 'Row#'    
FROM Sales.vSalesPerson;

Для вашего запроса

SELECT client_name, ROW_NUMBER() Over (Order By client_name) AS row_number 
FROM   (select distinct client_name from deliveries) SQ

будет работать.

4
ответ дан 29 November 2019 в 02:04
поделиться

В Oracle

SQL> select row_number() over (order by deptno) as rn
  2         , deptno
  3  from
  4     ( select distinct deptno
  5            from emp
  6          )
  7  /

        RN     DEPTNO
---------- ----------
         1         10
         2         20
         3         30

SQL>
1
ответ дан 29 November 2019 в 02:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: