如何显示数据日期MYSQL/2小时
我有这样的DB表格 我想按日期/2小时显示数据顺序 比如说如何显示数据日期MYSQL/2小时,mysql,sql,database,Mysql,Sql,Database,我有这样的DB表格 我想按日期/2小时显示数据顺序 比如说 HF01245523 | 2019-11-17 06:01:05 | 1.10513 | 599 HF01245043 | 2019-11-17 04:01:06 | 1.10513 | 599 HF01244562 | 2019-11-17 02:00:06 | 1.10513 | 599 可能吗 我尝试了以下查询: SELECT * FROM ( SELECT MAX(tgl_harga) AS maxdate F
HF01245523 | 2019-11-17 06:01:05 | 1.10513 | 599
HF01245043 | 2019-11-17 04:01:06 | 1.10513 | 599
HF01244562 | 2019-11-17 02:00:06 | 1.10513 | 599
可能吗
我尝试了以下查询:
SELECT * FROM (
SELECT MAX(tgl_harga) AS maxdate
FROM tbl_dummy
GROUP BY
YEAR(tgl_harga),
MONTH(tgl_harga),
WEEK(tgl_harga),
DAY(tgl_harga)
) AS g
INNER JOIN tbl_dummy ON g.maxdate = tbl_dummy.tgl_harga
但是这个查询只显示/day,我不知道显示记录/2小时。在现有查询的基础上,您可以进行日期算术。考虑:
SELECT t.* FROM (
SELECT MAX(tgl_harga) AS maxdate
FROM tbl_dummy
GROUP BY
DATE(tgl_harga),
FLOOR(HOUR(tgl_harga) / 2)
) AS g
INNER JOIN tbl_dummy t ON g.maxdate = t.tgl_harga
ORDER BY t.tgl_harga DESC
这将为每个固定的2小时窗口提供一条记录,这是该窗口中的最新记录,因此:一条记录介于0小时和2小时之间,一条记录介于2小时和4小时之间,依此类推。请注意,这并不一定意味着resultset中的记录之间的间隔为2小时
在中,查询将生成:
id_harga | tgl_harga | harga | id_region
:--------- | :------------------ | ------: | :--------
HF01245523 | 2019-11-17 06:01:05 | 1.10513 | 599
HF01245515 | 2019-11-17 05:59:07 | 1.10513 | 599
HF01245035 | 2019-11-17 03:59:06 | 1.10513 | 599
HF01244554 | 2019-11-17 01:57:06 | 1.10513 | 599
HF01244082 | 2019-11-16 23:59:06 | 1.10513 | 599
HF01243602 | 2019-11-16 21:59:06 | 1.10513 | 599
HF01243114 | 2019-11-16 19:57:07 | 1.10513 | 599
HF01242642 | 2019-11-16 17:59:06 | 1.10513 | 599
HF01242162 | 2019-11-16 15:59:07 | 1.10513 | 599
HF01241682 | 2019-11-16 13:59:06 | 1.10513 | 599
因此,是否要筛选数据,使其每2小时仅显示一条记录?还是您正在寻找的其他内容?@GMB是的,我只想每2小时显示一次James Harden my Idola xD我尝试将您的查询更改为每10分钟显示一次数据,但这不起作用从选择MAXtgl_harga作为maxdate从tbl_虚拟组按DATEtgl_harga选择t.*,FloorTerminutestGL_harga/10作为g内部连接tbl_dummy t ON g.maxdate=t.tgl_harga按t.tgl_harga Desca下单:FLOORHOURtgl_harga*60+分钟GL_harga/10