Mysql 我需要在数据库中创建用户活动的组记录

Mysql 我需要在数据库中创建用户活动的组记录,mysql,sql,laravel,eloquent,Mysql,Sql,Laravel,Eloquent,我需要在过去24小时内输入的每小时用户数。我必须在00:00到23:59之间每隔1小时分组一次。但是,用户必须具有唯一的记录 如何对其进行sql查询或雄辩查询? 我的解决办法是: SELECT count(user_id) as Users, CONCAT( HOUR(created_at), ' to ', CONCAT( HOUR(created_at), ':59:59' ) ) as Time_Frame FROM table_name where created_at >= N

我需要在过去24小时内输入的每小时用户数。我必须在00:00到23:59之间每隔1小时分组一次。但是,用户必须具有唯一的记录

如何对其进行sql查询或雄辩查询?

我的解决办法是:

SELECT count(user_id) as Users,
CONCAT( HOUR(created_at), ' to ', CONCAT( HOUR(created_at), ':59:59' ) 
) as Time_Frame
FROM table_name
where created_at >= NOW() - INTERVAL 1 DAY
GROUP BY 
DATE(created_at), 
HOUR(created_at)
order by count(user_id) DESC

假设需要最新的完整日历日期,可以使用

select maketime(hour(enteredAt), 0, 0) as hour, count(*)
from t
where enteredAt >= curdate() - interval 1 day and
      enteredAt < curdate()
group by hour
order by hour;
选择maketime(小时(输入),0,0)作为小时,计数(*)
从t
其中enteredAt>=curdate()-间隔1天和
输入日期