我正在尝试列出最新的事件(只有一行输出)
基本上是活动的最后日期和活动的最后一次。
以下代码如果是max(starttime)则不起作用,但如果它是min(starttime)则可以使用
但是,如果我做分钟(开始时间),它会告诉我事件的最后日期,但是最后一个日期的第一个事件。
我想获得上次约会的最后一个活动时间的结果。 (因此只有1行输出)
有什么想法吗?
SELECT * from Events
where dateheld in (select max(dateheld) from events)
AND starttime in (select max(starttime) from events)
答案 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)