SELECT t1.depar_date, t1.return_date, t1.orig_air, t1.dest_air, t1.num_pass, count(t1.id) as count_of, 'TRUE' as Hit_Cache
FROM MY_TEST t1
WHERE t1.created_at BETWEEN t1.created_at AND dateadd(minute, 30, t1.created_at) --t1.created_at > dateadd(DAY, 1, t1.created_at)
GROUP BY t1.depar_date, t1.return_date, t1.orig_air, t1.dest_air, t1.num_pass
HAVING count(t1.id) > 1;
DATEADD
不会被识别并引发错误。SQL:如何查找30分钟日期时间范围内的“Created_at”列的数据集记录?
你有什么错误? 'created_at'的类型是什么? –
还有什么是数据库引擎的SQL Server或MySQL? – doganak
查询中的这个子句总是会在SQL Server上返回** true **:'t1.created_at BETWEEN t1.created_at AND DATEADD(MINUTE,30,t1.created_at)'在MySQL上它会抛出一个错误。请[编辑]你的问题来更全面地解释你想要做的事情。并且,请删除[mysql]或[sql-server]标签。 –