小编Sco*_*t K的帖子

SQL - GROUP BY和COALESCE的丑陋组合

我有一个表格,其数据类似于以下内容:

[ID],[州],[foo],[DateCreated],[DateUpdated]

我在这方面工作的时间越长,我的SQL就会变得更加丑陋,这告诉我,我可能做错了什么.我想要的是每个国家的唯一清单,只要该国的foo总是相同的(如果foo对于该州的所有记录都不相同,我根本不想要那个国家).此外,我想要COALESCE DateCreated和DateUpdated,并希望该状态的最大值.

所以给出这样的数据:

[ID], [State], [foo], [DateCreated], [DateUpdated]
1,  MA, data1,  05/29/2012, 06/02/2012
2,  MA, data1,  05/29/2012, 06/03/2012
3,  RI, data2,  05/29/2012, NULL
4,  RI, data3,  05/29/2012, NULL
5,  NH, data4,  05/29/2012, NULL
6,  NH, data4,  05/29/2012, 06/05/2012
Run Code Online (Sandbox Code Playgroud)

我只想要这些结果:

[State], [foo], [LastUpdated]
MA, data1,  06/03/2012
NH, data4,  06/05/2012
Run Code Online (Sandbox Code Playgroud)

得到我所追求的最优雅的方法是什么?

sql group-by sql-server-2000 coalesce max

5
推荐指数
2
解决办法
3万
查看次数

标签 统计

coalesce ×1

group-by ×1

max ×1

sql ×1

sql-server-2000 ×1