2016-11-12 3 views
1

Я попытался сгруппировать свои ежедневные данные по неделям (с датой контрольной даты) для создания меньшего набора данных панели.Apache Drill: Group by week

Я использовал Postgres до и там было довольно легко:

CREATE TABLE videos_weekly AS SELECT channel_id, 
CEIL(DATE_PART('day', observation_date - '2016-02-10')/7) AS week 
FROM videos GROUP BY channel_id, week; 

Но, похоже, это не представляется возможным вычитать метку времени с датой строки в Drill. Я нашел функцию AGE, которая возвращает интервал между двумя датами, но как преобразовать его в целое число (количество дней или недель)?

ответ

1

DATE_SUB может помочь вам здесь. Ниже приведен пример:

SELECT extract(day from date_sub('2016-11-13', cast('2015-01-01' as timestamp)))/7 FROM (VALUES(1)); 

Это вернет число недель между 2015-01-01 и 2016-11-13.

Click here for documentation

+0

Отлично, спасибо! :) – NaN