MYSQL - Расписание со значением - PullRequest
0 голосов
/ 28 апреля 2020

может быть, кто-нибудь может помочь в построении этого запроса:

| 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 |
| ...                 | ...  |

Большое спасибо.

1 Ответ

0 голосов
/ 28 апреля 2020

при условии, что ваш столбец datetimestamp содержит допустимые значения datetime, вы можете использовать функции date (), hour (), minute () для получения необходимой вам части времени и подзапроса для максимального значения, основанного на 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...