-1

也许任何人都有能力帮助构建这个查询:

| datetimestamp       | value |
| 2020-01-01 00:00:00 | 1892  |
| 2020-01-01 01:00:00 | 1219  |
| 2020-01-01 02:00:00 | 1119  |
| ...                 | ...   |
| 2020-01-02 01:00:00 | 1619  |
| 2020-01-02 02:00:00 | 1419  |
| ...                 | ...   |
| 2020-01-02 01:00:00 | 1619  |
| 2020-01-02 02:00:00 | 1319  |

我想选择一个月,小时的最高值成为这个结果

| 2020-01-02 01:00:00 | 1619 |
| 2020-01-02 02:00:00 | 1419 |
| ...                 | ...  |

非常感谢。

4

1 回答 1

0

假设您的 datetimestamp 列包含有效的日期时间值,您可以使用 date()、hour()、minute() 函数检索您需要的部分 od datetime 以及基于 group by 和 join 的最大值子查询

select * from my_table m 
inner join  (
   select date(datetimestamp) my_date,  hour(datetimestamp) my_hour, minute(datetimestamp) my_minute, (max(datetimestamp)
   from my_table  
   group by date(datetimestamp) ,  hour(datetimestamp) , minute(datetimestamp)

   ) t on t.my_date = date(m.datetimestamp)
        and t.m_hour = hour(m.datetimestamp) 
            and t.my_minute =  minute(m.datetimestamp)
于 2020-04-28T07:06:39.630 回答