我试着四处寻找这个,但说实话,我真的不确定要搜索什么...所以如果以前有人问过这个问题请耐心等待。
我有一个包含这样的事件列表的表:
Date Event
----- ------
1/1/2012 Event1
1/2/2012 Event1
1/4/2012 Event2
1/6/2012 Event1
etc.
我要做的是在此表上进行选择,同时返回Event1
发生的最近日期和Event2
发生的最新日期。因此,使用上表作为示例,我希望看到以下结果:
Event 1 Event2
------- ------
1/6/2012 1/4/2012
关于如何实现这一点的任何想法?我知道如何单独获取这些值
SELECT max(date) FROM table WHERE Event LIKE 'Event1'
只是不在一起作为一个结果。
答案 0 :(得分:3)
您可以将CASE
语句与MAX()
函数一起使用。
SELECT MAX(CASE WHEN event = 'Event1' THEN date END) Event1,
MAX(CASE WHEN event = 'Event2' THEN date END) Event2
FROM yourTable
答案 1 :(得分:0)
对event
列上的任何值尝试此查询:
select MAX(date), event
from events_table
group by event;