У меня есть следующий Postgresql запрос:заказа Результаты Postgresql Таблица хронологическим Дата
SELECT
to_char("Date", 'Mon') AS mon,
extract(year from "Date") AS yyyy,
SUM("Amount") FILTER (WHERE "Type" LIKE 'E0%') AS HTT,
SUM("Amount") FILTER (WHERE "Type" LIKE 'E1%') AS TTT
FROM
"Transactions"
WHERE
"Date" BETWEEN '01/01/2015' AND '08/31/2015'
GROUP BY 1, 2
ORDER BY
yyyy,
mon;
Результаты я получаю в следующем порядке:
Mon | yyyy | HTT | TTT |
Apr | 2014 | 50 | 75 |
Aug | 2014 | 60 | 80 |
Dec | 2014 | 55 | 40 |
Jul | 2014 | 60 | 45 |
Jun | 2014 | 50 | 55 |
Однако, я хотел бы иметь возможность получить результаты в хронологическом порядке даты по месяцам и годам, чтобы результаты отображались следующим образом:
Mon | yyyy | HTT | TTT |
Apr | 2014 | 50 | 75 |
Jun | 2014 | 50 | 55 |
Jul | 2014 | 60 | 45 |
Aug | 2014 | 60 | 80 |
Dec | 2014 | 55 | 40 |
I Есть ли способ запросить таким образом, чтобы Mon и yyyy отображались в хронологическом порядке и в год?
Почему упорядочением по 'MIN()'? – fpietka
@fpietka. , , Он выбирает одну дату из периода времени и использует ее для заказа. 'max (" Date ")' также может использоваться. Любая идея, почему downvote? –
Итак, он избегает требования 'GROUP BY' в' Date', используя агрегированную функцию в дате. Не знал, что это будет действительным, пока я не увижу его [там] (http://stackoverflow.com/questions/5818216/is-it-possible-to-use-order-by-column-not-in-the- группа по). Следует сказать, что это важная часть ответа. – fpietka