1
具有下表。SQL计数不同行
Date Direction Market Time
10/17/2016 SB GRUJFK 22:05:00
10/18/2016 SB GRUJFK 22:05:00
10/19/2016 SB GRUJFK 22:05:00
10/20/2016 SB GRUJFK 22:05:00
10/21/2016 SB GRUJFK 22:05:00
10/23/2016 SB GRUJFK 23:20:00
10/23/2016 SB GRUJFK 22:30:00
10/24/2016 SB GRUJFK 22:30:00
10/25/2016 SB GRUJFK 22:30:00
10/26/2016 SB GRUJFK 22:30:00
10/27/2016 SB GRUJFK 22:30:00
10/28/2016 SB GRUJFK 22:30:00
我想计数不同行中的不同列数,但顺序地分配给重复行(从1..N)
Date Direction Market Time Count
10/17/2016 SB GRUJFK 22:05:00 1
10/18/2016 SB GRUJFK 22:05:00 1
10/19/2016 SB GRUJFK 22:05:00 1
10/20/2016 SB GRUJFK 22:05:00 1
10/21/2016 SB GRUJFK 22:05:00 1
10/23/2016 SB GRUJFK 23:20:00 1
10/23/2016 SB GRUJFK 22:30:00 2
10/23/2016 SB GRUJFK 23:30:00 3
10/25/2016 SB GRUJFK 22:30:00 1
10/26/2016 SB GRUJFK 22:30:00 1
10/27/2016 SB GRUJFK 22:30:00 1
10/28/2016 SB GRUJFK 22:30:00 1
因此,在这种情况下,只有10/23/2016有3个不同的值。因此,分配1中第一次出现,2到第二等
我尝试以下
select
departureDate,
DIRECTION, LEG, SCHD_LEG_DEP_TM, count(SCHD_LEG_DEP_TM) over (partition by departureDate)
from table3mirs mirs
INNER JOIN sys_calendar.calendar
ON calendar_date = mirs.departureDate
where leg='GRUJFK'
group by 1,2,3,4
,但得到
Date Direction Market Time Count
10/17/2016 SB GRUJFK 22:05:00 1
10/18/2016 SB GRUJFK 22:05:00 1
10/19/2016 SB GRUJFK 22:05:00 1
10/20/2016 SB GRUJFK 22:05:00 1
10/21/2016 SB GRUJFK 22:05:00 1
10/23/2016 SB GRUJFK 23:20:00 3
10/23/2016 SB GRUJFK 22:30:00 3
10/23/2016 SB GRUJFK 23:30:00 3
10/25/2016 SB GRUJFK 22:30:00 1
10/26/2016 SB GRUJFK 22:30:00 1
10/27/2016 SB GRUJFK 22:30:00 1
10/28/2016 SB GRUJFK 22:30:00 1
任何想法?谢谢你的帮助!
AFAIK你不能使用次数在一个窗口函数不同。 http://dba.stackexchange.com/questions/89031/using-distinct-in-window-function-with-over – vercelli