应该是不言自明的;知道为什么我不能这样做:
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
);