应该是相当不言自明的;知道为什么我不能这样做:
select user_id from my_table where created_at<date_add(min(created_at), INTERVAL 1 MINUTE)
我正在尝试仅返回在最早时间戳的一分钟内创建的行。谢谢!
答案 0 :(得分:1)
在处理聚合函数时,你应该使用HAVING而不是WHERE ...但是,我猜你的查询会更复杂一点:
SELECT user_id,
created_at, (
SELECT DATE_ADD(MIN(created_at), INTERVAL 1 MINUTE)
FROM my_table
) AS earliest
FROM my_table t1
HAVING created_at < earliest;
这是一个SQLFiddle。 )
答案 1 :(得分:0)
试试这个:
SELECT user_id
FROM my_table
WHERE created_at < DATE_ADD((SELECT MIN(created_at) FROM my_table), INTERVAL 1 MINUTE)
答案 2 :(得分:0)
SELECT user_id FROM my_table
WHERE created_id <
(
SELECT (min_dt + INTERVAL 1 MINUTE) mindt FROM
(SELECT MIN(created_id) min_dt FROM my_table) A
);