我有数据集,我可以使用group by。如果可用,我希望最好得到null值(想知道事件是否完成)
示例eventTable:
ID event finished
1 event1 2017-01-01
2 event2 NULL
3 event3 2017-05-18
4 event1 NULL
SQL:
SELECT event, max(finished) FROM eventTable group by event
给出了不想要的结果:
event1 2017-01-01
event2 NULL
event3 2017-05-18
我想要的结果是(在event1看到NULL值):
event1 NULL
event2 NULL
event3 2017-05-18
有什么建议吗?谢谢。
答案 0 :(得分:2)
您可以使用条件聚合来检查是否存在null然后显示null其他show max of date
SELECT event,
case when sum( finished is null) > 0
then null else max(finished)
end as finished
FROM eventTable
group by event
答案 1 :(得分:1)
使用未来的某个日期:
SELECT event, max(ifnull(finished, '2999-01-01'))
FROM eventTable
group by event ;
答案 2 :(得分:0)
使用MIN而不是MAX。试试这个 -
SELECT event
,min(finished)
FROM eventTable
GROUP BY event