在查询中组合 WHERE 和 HAVING 子句
Combine WHERE and HAVING clause in a query
我有以下查询
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
我们同一天有很多。
我想在同一天的最后一天获得所有 start/stop。
所以,我的逻辑是获取最大日期(=今天)的所有开始和停止日期时间
所以如果今天是 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
我该如何解决这个问题?
谢谢
您想要 select 日期是 table 中最大日期的所有行。一个主要查询要显示的行和 where 子句中最大天数的子查询,
select *
from mytable
where cast(start as date) = (select max(cast(start as date)) from mytable);
我有以下查询
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
我们同一天有很多。 我想在同一天的最后一天获得所有 start/stop。
所以,我的逻辑是获取最大日期(=今天)的所有开始和停止日期时间
所以如果今天是 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
我该如何解决这个问题?
谢谢
您想要 select 日期是 table 中最大日期的所有行。一个主要查询要显示的行和 where 子句中最大天数的子查询,
select *
from mytable
where cast(start as date) = (select max(cast(start as date)) from mytable);