Имам набор от данни, както следва
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