Сравнение временных меток в postgres - PullRequest
0 голосов
/ 21 мая 2018

У меня есть два запроса с похожими данными (один с предыдущим периодом, а другой с текущим).Мне нужно отобразить это на графике кендо.Как я могу это сделать **

select date_trunc('hour' , "CreateDateTime"::TIMESTAMP) as c, 
       count(1) as d 
from "ROBOT" 
where "CreateDateTime"::TIMESTAMP between '2018-04-01' and '2018-04-22' 
group by date_trunc('hour', "CreateDateTime"::TIMESTAMP) 

UNION ALL

select date_trunc('hour' , "CreateDateTime"::TIMESTAMP) as a, 
count(1) as b 
from "ROBOT" 
where "CreateDateTime"::TIMESTAMP between '2018-05-01' and '2018-05-22' 
group by date_trunc('hour', "CreateDateTime"::TIMESTAMP);

1 Ответ

0 голосов
/ 22 мая 2018

Похоже, вы хотите почасовые подсчеты в течение двух месяцев бок о бок.Предполагая, что это правильно, вы хотите что-то вроде:

select date_part('hour', "CreateDateTime"::TIMESTAMP) as hour,
       sum(case when "CreateDateTime"::TIMESTAMP between '2018-04-01' and '2018-04-22' then 1 else 0 end) as apr,
       sum(case when "CreateDateTime"::TIMESTAMP between '2018-05-01' and '2018-05-22' then 1 else 0 end) as may
from "ROBOT"
where "CreateDateTime"::TIMESTAMP between '2018-04-01' and '2018-04-22'
   or "CreateDateTime"::TIMESTAMP between '2018-05-01' and '2018-05-22'
group by 1;

Шаблон суммы (case ...) является хорошим вариантом для использования, когда вы хотите получить несколько сумм из одних и тех же данных с разными критериями.

...