我有一个MySQL表,每行都有日期时间值。
我试着按两个间隔进行分组:
1.从现在到现在的日期-1小时
1.日期介于现在-1小时和现在-2小时之间
我做什么?
SELECT MIN(date), MAX(date), count(stats.ID) as c FROM stats WHERE date BETWEEN (NOW() - INTERVAL 2 HOUR) AND NOW() GROUP BY UNIX_TIMESTAMP(date) DIV 7200
| 最小值(日期)|最大值(日期)|计数|
| - ------|- ------|- ------|
| 2023年3月11日18时45分15秒|2023年3月11日18时59分59秒|一百五十|
| 2023年3月11日19时00分01秒|2023年3月11日19时45分15秒|二百五十|
我试试这个:
SELECT count(ID), MIN(date), MAX(date), sec_to_time(time_to_sec(date)- time_to_sec(DATE)%(60*60)) as intervals from stats WHERE date BETWEEN (NOW() - INTERVAL 2 HOUR) AND NOW()group by intervals
| 最小值(日期)|最大值(日期)|计数|
| - ------|- ------|- ------|
| 2023年3月11日18时45分15秒|2023年3月11日18时59分59秒|一百五十|
| 2023年3月11日19时00分|2023年3月11日19时59分59秒|二百五十|
| 2023年3月11日20时00分|2023年3月11日19时45分15秒|二百五十|
预期成果
| 最小值(日期)|最大值(日期)|计数|
| - ------|- ------|- ------|
| 2023年3月11日18时45分15秒|2023年3月11日19时45分15秒|一百五十|
| 2023年3月11日19时45分15秒|2023年3月11日20时45分15秒|二百五十|
2条答案
按热度按时间z8dt9xmd1#
一些示例数据和预期输出会很有帮助,但您不能只做:
或者甚至只是:
ecfdbz9o2#