[英]how to count data occurrence between certain DateTime range in mysql
I am sorry for this kind of newbie question, but it is quite hard for me.对于这种新手问题,我很抱歉,但这对我来说很难。 My
MySQL
table holds high-frequency stock prices.我的
MySQL
表包含高频股票价格。 On each trading date, data starts from day 1 18:00
to day 2 17:00
.在每个交易日,数据从第 1 天
18:00
开始到第 2 天17:00
。 I want to count the data occurrence for each trading day between the above trading hour.我想统计上述交易时段之间每个交易日的数据出现次数。 I know how to count for a single day just as following code
我知道如何像下面的代码一样计算一天
SELECT COUNT(*) FROM table WHERE date BETWEEN '2021-08-25 18:00:00' AND '2021-08-26 17:00:00'
But how to count all the days in the table?但是如何统计表中的所有天数呢?
My table looks like this:我的桌子看起来像这样:
What I want to looks like this:我想要的是这样的:
Thanks in advance.提前致谢。
Appreciate that your "day" starts at 6pm.感谢您的“一天”从下午 6 点开始。 So, we can normalize each datetime by subtracting 18 hours, and then aggregate:
因此,我们可以通过减去 18 小时来规范化每个日期时间,然后聚合:
SELECT DATE(date - INTERVAL 18 HOUR), COUNT(*) AS cnt
FROM yourTable
GROUP BY 1;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.