sql查询 怎么查询每天内一个时间段内的数据量?

颖辉小居 发布于 05/22 15:09
阅读 1K+
收藏 0

1 比如我要查创建时间是当月里每天凌晨2:00到3:00之间的数据量。查询结果是每天有一行数据。

2 如果这个时间是跨天的呢?比如晚上11:00 到 陵城1:00

加载中
1
wj7326
wj7326

SELECT
    CONCAT( DATE_FORMAT( clients_user.create_time, '%Y-%m-%d' ), ' 02:00:00' ),
    clients_user.create_time 
FROM
    clients_news_and_user clients_user
WHERE
    date_format( clients_user.create_time, '%Y-%m' ) = date_format( now(), '%Y-%m' ) 
    AND clients_user.create_time > CONCAT( DATE_FORMAT( clients_user.create_time, '%Y-%m-%d' ), ' 02:00:00' ) 
    AND create_time < CONCAT( DATE_FORMAT( clients_user.create_time, '%Y-%m-%d' ), ' 03:00:00' ) 
GROUP BY
    DATE_FORMAT( clients_user.create_time, '%Y-%m-%d' )

qq 467585678

颖辉小居
颖辉小居
回复 @wj7326 : 我要返回的是每天的这个时间段的数据条数,所以应该用 count(*),多谢了。
wj7326
wj7326
回复 @颖辉小居 : 查每天最重要的是这句话 GROUP BY DATE_FORMAT( 字段, '%Y-%m-%d' ) 他是分组函数
wj7326
wj7326
回复 @颖辉小居 : 你不用改动,只需要把我的表名,字段名换成你的就行了,select 。。。 from 。。 中间如果你想查每天这个时间段内的总值只需要 sum(字段) 就行 就是 select sum(字段),。。。,。。。要显示啥字段就加啥字段 from 表名
颖辉小居
颖辉小居
你好我要的是每天2:00 到 3:00的数据量,所以前面改成 select count(1) from 。。。貌似就可以了,对吗
0
Shazi199
Shazi199

1.先按条件查出数据,并且取出当天日期的列,最后对这个查询结果按当天日期分组就可以

2.取当天日期的时候,减1小时偏移即可。如果是其他条件,也都可以写进查询条件里,记住只需要考虑这个当天日期怎么取就行了

返回顶部
顶部