我有一个包含类似于以下数据的表:
[ID]、[状态]、[foo]、[创建日期]、[更新日期]
我处理这个问题的时间越长,我的 SQL 就越难看,这告诉我我可能做错了什么。我想要的是每个状态的唯一列表,只要 foo 对于该状态始终相同(如果 foo 对于该州的所有记录都不相同,则我根本不想要该州)。另外,我想合并 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
我只想要这些结果:
[State], [foo], [LastUpdated]
MA, data1, 06/03/2012
NH, data4, 06/05/2012
获得我想要的东西的最优雅的方式是什么?