我想实现这个功能来选择最近几分钟的行。(假设最晚时间为 09:34:00)
SELECT CONVERT(VARCHAR(10),cur_time,108) as CUR_TIME, AVG(CAST(now_price AS FLOAT)) AS now_price FROM dbo.ticktest GROUP BY CUR_TIME HAVING CUR_TIME >= '09:32:30'
但是我希望它可以自动cur_time在我的表中找到最新的,所以我这样写这个函数:
cur_time
SELECT CONVERT(VARCHAR(10),cur_time,108) as CUR_TIME, AVG(CAST(now_price AS FLOAT)) AS now_price FROM dbo.ticktest GROUP BY CUR_TIME HAVING CUR_TIME >= CONVERT(VARCHAR(10),DATEADD(mi,-1,MAX(cur_time)),108)
它返回所有时期的数据。那么,我该如何纠正这个错误以使功能正常运行。
谢谢
使用子查询,您总是选择实际上是最新时间的最大时间
HAVING CUR_TIME >= (select max(CUR_TIME) from dbo.ticktest)