2013-09-10 2 views
2

Хороший вечер, я изучаю ROW_NUMBER() в squirrel sql. Я успеваю извлекать данные из базы данных, но проблема в том, что R в ROW_NUMBER() OVER() AS R не соответствует данным отсортированной базы данных. Нужна предложение и подсказки для запроса ниже, благодаряКак вернуть ROW_NUMBER() с отсортированными результатами базы данных?

Запрос

SELECT COUNT(*) AS RECORDS FROM (SELECT ROW_NUMBER() OVER() AS R, 
somethingAisID, somethingB, somethingC ORDER BY somethingA) AS T WHERE R>=0 
AND R<=100 

р/с: Строки базы данных сортируется, но поля R является матч с ООН отсортированные строки базы данных.

Пример:

somethingAisID, которые отсортированы из запроса 1,2,3,4,5

somethingAisID, который не-сортированы из исходной таблицы базы данных является 4,5,2,3 , 1

то R является матч, как 4,5,2,3,1

Как я могу запросить R, чтобы соответствовать, как 1,2,3,4,5? (Отсортированные запросы)

ответ

2

Вы должны использовать ORDER BY в OVER пункте для этого

ROW_NUMBER() OVER (ORDER BY column_name [ASC|DESC]) AS R 

Вот SQLFiddle демо

+0

Функция не реализована: ОКНО/ORDER BY. Является ли это ошибкой sql или моя белка не обновлена? спасибо –

+0

Какие СУБД (SQL Server?) Вы используете и какую версию? – peterm

+0

squirrel-sql-3.1.2, GlassFishESBv22, это информация, которую вы хотите? –

Смежные вопросы