mysql选择具有多个日期不同的记录的行

wljmcqd8  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(267)

我有一个存储用户操作的mysql表,换句话说,它就像操作日志一样,可能包含具有相同用户id的重复行

id  operation_name     role    operation_type   user_id   ... creation_date
 1   delivery          driver    1               2901         2018-05-23 06:06:22
 2   ride              driver    2               1197         2018-02-23 05:54:22
 1   delivery          driver    1               2901         2018-08-23 18:06:29

我想选择具有相同用户id和创建日期的行,在一段时间内不重复。例如,我想选择在x个时间段内进行了n次以上操作的所有用户id。
我尝试了以下查询,但不起作用:

SELECT user_id  FROM operations_log where 
        creation_date between creation_date and DATE_ADD(creation_date, INTERVAL 1 DAY) group by 
   user_id;
iovurdzv

iovurdzv1#

你需要having条款。

SELECT user_id  FROM operations_log where 
        creation_date between creation_date and DATE_ADD(creation_date, INTERVAL 1 DAY) group by 
   user_id HAVING COUNT(*)>1
``` `Group By` 要求 `Having` 要使用所需的聚合函数 `count` 

相关问题