MySQL date_format (date, '% Y-% m-% d% h') как эквивалент «день-час» в Presto - PullRequest
1 голос
/ 07 августа 2020

У меня есть столбец с датой и типом данных timestamp.

      date
'2020-08-05 01:01:24.000'
'2020-08-05 02:02:24.000'
'2020-08-05 02:03:24.000'

Я хочу сгруппировать по дневным часам.

Итак, в MySQL я бы сделал это с помощью

    select date_format( date, '%Y-%m-%d %h') as `day-hour`
      from table 
  group by date_format( date, '%Y-%m-%d %h');

, что выведет:

   day-hour
2020-08-05 01
2020-08-05 02

Как я могу сделать это в Presto?

1 Ответ

4 голосов
/ 07 августа 2020

Вы можете преобразовать эти строки в TIMESTAMP и использовать date_trunc для усечения меток времени до часов:

WITH data(x) AS (VALUES
    '2020-08-05 01:01:24.000',
    '2020-08-05 02:02:24.000',
    '2020-08-05 02:03:24.000')
SELECT date_trunc('hour', CAST(x AS TIMESTAMP))
FROM data
GROUP BY 1
          _col0
-------------------------
 2020-08-05 01:00:00.000
 2020-08-05 02:00:00.000
(2 rows)
...