SQL查找事件的上次日期和上次

时间:2012-09-02 02:23:52

标签: sql

我正在尝试列出最新的事件(只有一行输出)

基本上是活动的最后日期和活动的最后一次。

以下代码如果是max(starttime)则不起作用,但如果它是min(starttime)则可以使用

但是,如果我做分钟(开始时间),它会告诉我事件的最后日期,但是最后一个日期的第一个事件。

我想获得上次约会的最后一个活动时间的结果。 (因此只有1行输出)

有什么想法吗?

SELECT * from Events
where dateheld in (select max(dateheld) from events)
AND starttime in (select max(starttime) from events)

2 个答案:

答案 0 :(得分:3)

问题似乎是逻辑,因为您的WHERE语句可能会生成两个不相交的集合(表的最大(时间)不与max(date)共享一行)。如下所示:(DISTINCT只确保一条记录)

SELECT MAX(dateheld) AS 'MaxDate', starttime 
FROM Events
WHERE starttime in 
      (SELECT MAX (starttime) AS temp FROM events)

答案 1 :(得分:1)

您可以将结果限制为返回的前1条记录:

select * from events
order by dateheld, starttime desc
limit 1

编辑以满足新要求

select max(starttime) as maxstart, dateheld
from events
where dateheld = (select max(dateheld) as maxdateheld from events)