应该是不言自明的;知道为什么我不能这样做:
select user_id from my_table where created_at<date_add(min(created_at), INTERVAL 1 MINUTE)
我试图只返回在最早时间戳的一分钟内创建的行。谢谢!
应该是不言自明的;知道为什么我不能这样做:
select user_id from my_table where created_at<date_add(min(created_at), INTERVAL 1 MINUTE)
我试图只返回在最早时间戳的一分钟内创建的行。谢谢!
在处理聚合函数时,您应该使用 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。)
尝试这个:
SELECT user_id
FROM my_table
WHERE created_at < DATE_ADD((SELECT MIN(created_at) FROM my_table), INTERVAL 1 MINUTE)
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
);