我希望有一个T-SQL程序或SQL查询来执行以下操作:
问题描述:
我有这行的表:我希望有一个T-SQL程序或SQL查询来执行以下操作:
City | Day
NEWYORK | MON
NEWYORK | MON
NEWYORK | MON
NEWYORK | TUE
CHICAGO | MON
CHICAGO | MON
我需要编写一个查询添加列Occurrence
使用从数据结果列City
和Day
:
City | Day | Occurrence
NEWYORK | MON | 1
NEWYORK | MON | 2
NEWYORK | MON | 3
NEWYORK | TUE | 1
CHICAGO | MON | 1
CHICAGO | MON | 2
EG:对于NEWYORK
如果发生第一MON
然后Occurrence
= 1,如果发生MON
两次,然后对应Occurrence
= 2等等。
答
的row_number
窗函数应该做的正是你要寻找的:
SELECT [city], [day], ROW_NUMBER() OVER (PARTITION BY [city], [day] ORDER BY 1) AS [occurence]
FROM my_table;
列名市,日和Occurence。 6行3列 –
MySQL,SQL-Server或pl/SQL?请只添加相关标签 – Jens
Jens请帮我 –