gpt4 book ai didi

mysql - 计算时间范围内分组的行数

转载 作者:行者123 更新时间:2023-11-29 06:41:46 27 4
gpt4 key购买 nike

我在查询时遇到问题。我需要获取分组行中的计数。最终结果应该是这样的

id  title   record_date record_timerange    count
109 game 2018-07-09 12:00-13:00 1
106 game 2018-07-09 11:00-12:00 3
116 book 2018-07-09 08:00-09:00 3
104 game 2018-07-09 08:00-09:00 2
115 game 2018-07-08 12:00-13:00 1
112 game 2018-07-08 11:00-12:00 3
110 game 2018-07-08 08:00-09:00 2

这是我的sql和fiddle http://sqlfiddle.com/#!9/9d27d9/1

Select id, title, 
DATE_FORMAT(record_datetime, '%Y-%m-%d')as record_date,
Concat(DATE_FORMAT(record_datetime, '%H'),':00-', LPAD( DATE_FORMAT(record_datetime, '%H')+01,2,0 ) ,':00')as record_timerange,
(select count(id) from nav_static_data as sub where 1=1
and sub.title=title
and DATE_FORMAT(sub.record_datetime,'%H')=record_date
and DATE_FORMAT(sub.record_datetime, '%Y-%m-%d')=DATE_FORMAT(record_datetime, '%Y-%m-%d')
)as count

from nav_static_data as m where 1=1
group by FLOOR(MOD(m.record_datetime, 86400)/8640), m.title
order by record_date desc, record_timerange desc, m.title

如何修复计数列和缺失行(id=110)?

最佳答案

请尝试以下查询。

select title,
DATE_FORMAT(record_datetime, '%Y-%m-%d')as record_date,
Concat(DATE_FORMAT(record_datetime, '%H'),':00-', LPAD( DATE_FORMAT(record_datetime, '%H')+01,2,0 ) ,':00')as record_timerange,
count(title)
from nav_static_data
group by title, record_date,record_timerange
order by id

只需使用group by即可获得结果,并且需要使用子查询来统计结果。

关于mysql - 计算时间范围内分组的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51280606/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com