我有以下查询
SELECT analysis, start, stop
FROM table
GROUP BY start
WHERE userid = 12 AND playerid = 67
HAVING CAST(start AS date) = MAX(CAST(start AS date))
ORDER BY start ;
开始和停止的日期时间类型,例如2016-10-23 00:00:00.000
同一天我们有很多。 我想在同一天(最后一天)开始/停止所有活动。
所以,我的逻辑是获取最大日期(=今天)的所有开始和结束日期时间
所以如果今天是2016-10-23
,请获取所有开始和结束的地方
`2016-10-23 00:10:00.000`
`2016-10-23 00:20:00.000`
`2016-10-23 00:40:00.000`
`2016-10-23 00:80:00.000`
我得到的错误是incorrect syntax near the keyword WHERE
我该如何解决?
谢谢
答案 0 :(得分:3)
您要选择所有日期为表中最大日期的行。一个主要查询,用于显示要显示的行,一个子查询,用于查询子句中最长的一天,
select *
from mytable
where cast(start as date) = (select max(cast(start as date)) from mytable);