Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 ROW_NUMBER() OVER + PARTITION в подзапросе  [new]
mletov
Member

Откуда:
Сообщений: 51
Пожалуйста, подскажите

Есть 2 запроса

SELECT ROW_NUMBER() OVER(PARTITION BY table.f1 ORDER BY table.f2 DESC) AS c


и

SELECT * FROM
(
SELECT ROW_NUMBER() OVER(PARTITION BY table.f1 ORDER BY table.f2 DESC) AS c
) AS t1


По моим представлениям запросы идентичны, но на деле они возвращают разный результат. Никак не могу понять, почему такое происходит
24 сен 12, 12:57    [13212303]     Ответить | Цитировать Сообщить модератору
 Re: ROW_NUMBER() OVER + PARTITION в подзапросе  [new]
denis2710
Member

Откуда: Москва
Сообщений: 3384
mletov,
вы в своих запросах from не забыли?
24 сен 12, 13:03    [13212356]     Ответить | Цитировать Сообщить модератору
 Re: ROW_NUMBER() OVER + PARTITION в подзапросе  [new]
Читатель неместный
Guest
В обеих случаях sql server возвращает верные результаты - возможно разные данные.
Разные данные, если по группе f1 есть одинаковые f2
24 сен 12, 13:11    [13212422]     Ответить | Цитировать Сообщить модератору
 Re: ROW_NUMBER() OVER + PARTITION в подзапросе  [new]
mletov
Member

Откуда:
Сообщений: 51
Всем спасибо. Читатель неместный, отдельный респект, действительно, там нужен был PARTITION BY table.f1, table.f3, т.к. f1 сам по себе не уникален.
24 сен 12, 14:16    [13212958]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить