mysql - 如何计算mysql中特定日期时间范围之间的数据发生次数
问题描述
对于这种新手问题,我很抱歉,但这对我来说很难。我的MySQL
桌子上有高频股票价格。在每个交易日,数据从第 118:00
天到第 2天开始17:00
。我想统计上述交易时间之间每个交易日的数据出现次数。我知道如何计算一天,就像下面的代码一样
SELECT COUNT(*) FROM table WHERE date BETWEEN '2021-08-25 18:00:00' AND '2021-08-26 17:00:00'
但是如何计算表格中的所有天数?
提前致谢。
解决方案
感谢您的“一天”从下午 6 点开始。因此,我们可以通过减去 18 小时来标准化每个日期时间,然后聚合:
SELECT DATE(date - INTERVAL 18 HOUR), COUNT(*) AS cnt
FROM yourTable
GROUP BY 1;
推荐阅读
- java - Android服务停止在OPPO小米MIUI vivio等设备上运行
- java - 如何有一个数字的范围
- android - @ForeignKey 和 3 个实体的问题
- reactjs - 在我的 React 应用程序中获取 api 数据时如何修复 CORS 错误?
- javascript - 如何使用 ajax 和 php 在服务器上存储视频 blob-Data
- java - 如何使用 sap hana 中的查询为视图创建触发器
- linux - 无法在终端中解压缩 .gz 文件 - file.gz:不是 gzip 格式
- python - Python值传递给构造函数,变量仍然为空
- excel - VB.Net - 循环槽行并在其单元格中输入数据
- material-ui - 如何从材质表中的自定义操作按钮中删除背景波纹效果?