Напевно, про це і питали раніше, але я не можу цього зрозуміти. У мене є phone_clicksтаблиця (sql скрипка http://sqlfiddle.com/#!15/855e0/1 )
CREATE TABLE phone_clicks (
id integer NOT NULL,
date date NOT NULL,
industry_id integer NOT NULL,
clicks integer DEFAULT 0 NOT NULL
);
insert into phone_clicks(id, date, industry_id, clicks)
values
(1, '2015-03-16', 1, 15),
(2, '2015-03-16', 2, 7),
(3, '2015-03-16', 3, 0),
(4, '2015-03-17', 1, 12),
(5, '2015-03-17', 3, 4),
(6, '2015-03-17', 4, 22),
(7, '2015-03-18', 1, 19),
(8, '2015-03-18', 2, 35);
Ця таблиця містить кількість подій натискання телефону для кількох industry_ids та дат.
Чи можна вважати ці кліки для всіх доступних industry_ids з кількома діапазонами дат як умови? Я хотів би мати такий результат:
------------------------------------------------
industry_id | today | yesterday | last 3 days |
------------------------------------------------
1 | 19 | 12 | 46 |
------------------------------------------------
2 | 35 | 0 | 42 |
------------------------------------------------
3 | 0 | 4 | 4 |
------------------------------------------------
4 | 0 | 22 | 22 |
------------------------------------------------
Я намагався використовувати підрахунок з розділом за датою, але ніде не потрапив. Чи можливо вибрати ці дані в одному запиті? Додатковою перевагою було б можливість визначати попередні місяці як діапазони дат: сьогодні, вчора, березня, лютого, січня тощо
ОНОВЛЕННЯ : Я оновив скрипку, щоб визначити поточний місяць, попередні місяці та попередній місяць як діапазони дат. SQL Fiddle: http://sqlfiddle.com/#!15/855e0/46
Я використовую PostgreSQL 9.3, але рішення 9.4 вітаються, тому що ми незабаром переходимо до нього.
dateстовпець типу,dateа неtimestamp. Це припущення часом спалювало мене