У меня есть набор данных следующим образом
name date
x 2014-01-01
x 2014-01-02
y 2014-01-03
x 2014-01-04
и я пытаюсь получить этот результат
name date row_num
x 2014-01-01 1
x 2014-01-02 2
y 2014-01-03 1
x 2014-01-04 1
Я пытался запустить этот запрос
select name,
date,
row_number () over (partition by name order by date) as row_num
from myTBL
но, к сожалению, я получаю этот результат
name date row_num
x 2014-01-01 1
x 2014-01-02 2
y 2014-01-03 1
x 2014-01-04 3
Пожалуйста помоги.
partition by
говорится, что разделы основаны исключительно наname
. Результат, который вы получили, это результат, который вы просили. Результат, который вы, кажется, хотите, состоит в том, что разделы сбрасываются каждый раз, когда изменяется прогонname
. Я не думаю, что вы можете сделать это с помощью простой оконной функции. Вам понадобится один или два уровня подзапроса. - person Ross Presser   schedule 29.12.2014