2012-03-22 3 views
1

У меня есть следующий запрос:Как использовать row_number() для указания критериев?

select top 100 eid, cid, id, position, ROW_NUMBER() over(order by eid, cid, id) as record 
from standings 
where record = 2 

Это дает недопустимую ошибку столбца.

Как получить только конкретный номер записи. Мне нужно сделать это, чтобы перебирать результаты по одному за раз для преобразования данных с таблицей, которая не имеет ключа идентичности первичный (или первичный ключ в целом)

+0

дублировать функцию [SQL Row_Number() в Where Where] (http://stackoverflow.com/questions/1466963/sql-row-number-function-in-where-clause) – sll

ответ

4

Вы можете тянуть, если от возможного КТР

;with T as (
    select top 100 eid, cid, id, position, ROW_NUMBER() over(order by eid, cid, id) as record 
    from standings 
) 
select * from T where record = 2 
+0

Что такое полу = двоеточие? – KallDrexx

+0

Если CTE не является 1-м оператором в пакете, ';' является обязательным, если вам это не нужно, но поскольку добавление одного из них все еще в порядке, я всегда это делаю. –

+0

Полезно знать, спасибо – KallDrexx

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