我有以下数据:SQL查询集团通过帮助
cust subject date
Cust1 Subject1 2010-12-31 21:59:59.000
Cust1 Subject1 2010-12-31 21:59:59.000
Cust4 Subject3 2011-02-27 21:59:59.000
Cust5 Subject1 2010-10-31 21:59:59.000
Cust5 Subject2 2010-10-31 21:59:59.000
Cust6 Subject2 2010-10-31 21:59:59.000
Cust6 Subject2 2010-12-31 21:59:59.000
我需要实现以下目标:
- 集团他们的卡斯特和主题
- 如果有2条记录与然后我需要返回具有最高日期的那个
- 如上所述,如果日期相同,则只返回其中的一个。
查询的结果应该是:
cust subject date
Cust1 Subject1 2010-12-31 21:59:59.000
Cust4 Subject3 2011-02-27 21:59:59.000
Cust5 Subject1 2010-10-31 21:59:59.000
Cust5 Subject2 2010-10-31 21:59:59.000
Cust6 Subject2 2010-12-31 21:59:59.000
谁能帮助我?
我能够做到的要求,2但不是所有的3
当然MAX([日期])工作... ROW_NUMBER()是矫枉过正。 :)不过,我喜欢它! – 2010-07-15 06:58:52
我认为您需要在WHERE子句的行号列上添加'AS RN'才能正常工作... – 2010-07-15 06:59:31
非常感谢。 我接受这个答案的原因是我忘记提及我还需要返回其他列,以至于我不会将它们包含在组中,也不能使用它们的聚合函数(如标题例如),它不会与正常的小组一起工作(至少不像这个那样容易)。 我会看看分区功能,它们看起来像是一个很大的节省时间。 – HaniBey 2010-07-15 07:09:01