我正在使用 Microsoft SQL。我有一个表,其中包含按两个不同类别存储的信息和一个日期。例如:
ID Cat1 Cat2 Date/Time Data
1 1 A 11:00 456
2 1 B 11:01 789
3 1 A 11:01 123
4 2 A 11:05 987
5 2 B 11:06 654
6 1 A 11:06 321
我想为 Cat1 和 Cat2 的每个独特组合提取一行,并且我需要具有最旧日期的行。在上面我想要 ID = 1、2、4 和 5。
Thanks
看一下row_number() http://msdn.microsoft.com/en-us/library/ms186734.aspx在 MSDN 上。
SELECT *
FROM (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY col1, col2 ORDER BY date_time, id) rn
FROM mytable
) q
WHERE rn = 1
(运行代码SQL小提琴 http://www.sqlfiddle.com/#!3/668a0/1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)