0

我试着四处寻找这个,但老实说,我不太确定要搜索什么……所以如果之前有人问过这个问题,请耐心等待。

我有一个表,其中包含这样的事件列表:

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'

只是没有在一起作为一个结果。

4

2 回答 2

3

您可以在函数中使用CASE语句MAX()

SELECT MAX(CASE WHEN event = 'Event1' THEN date END) Event1, 
    MAX(CASE WHEN event = 'Event2' THEN date END) Event2
FROM yourTable

请参阅带有演示的 SQL Fiddle

于 2012-08-16T12:53:58.173 回答
0

对列上的任何值尝试此查询event

select MAX(date), event
from events_table
group by event;
于 2012-08-16T12:58:54.207 回答