我正在使用Server,我需要下一种方式从todo列表中进行查询。
ID Date Status Phase
1 21.1.2017 Done 1
1 22.1 2017 Done 2
2 20.1.2017 Done 1
2 22.1.2017 Undone 2
3 23.1.2017 Undone 1
3 25.1.2017 Undone 2因此,我需要找到那些已经完成的任务(所有状态都完成了),然后取最后一个日期,以便最大(日期)?我不需要阶段信息。
结果应该是
ID Date Status
1 22.1 2017 Done你能帮我如何分组,取最大值(日期),但也制定一些规则,所有的状态是做好的?
发布于 2017-10-20 10:41:32
以下是一种方法:
select t.id, max(t.date) as date, max(t.status) as status
from t
group by t.id
having min(t.status) = max(t.status) and min(t.status) = 'Done';发布于 2017-10-20 10:48:29
你可以用这个。
SELECT TOP 1 [ID], [Date], [Status] FROM MyTable
WHERE [Status] ='Done'
ORDER BY [Date] DESChttps://stackoverflow.com/questions/46847416
复制相似问题