社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

如何显示数据日期MYSQL/2小时

Fajar Donny Bachtiar • 5 年前 • 1670 次点击  

我在数据库里有这样的桌子

dbFiddle

我想按日期/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
    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

但这个查询只是显示/天,我不知道显示记录/2小时。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49811
 
1670 次点击  
文章 [ 1 ]  |  最新文章 5 年前
GMB
Reply   •   1 楼
GMB    5 年前

根据现有的查询,可以进行日期运算。考虑:

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小时的间隔。

在你的 demo on DB Fiddle ,查询将生成:

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