У меня есть таблица с тремя столбцами: place_id, date, value. Для каждого места для каждой даты есть значение, например
Sql Postgres double group
place_id: 1, дата: '2014-01-01', значение: 1
place_id: 2, дата: '2014-01-01', стоимость: 2
place_id: 1, дата: '2014-02-02', значение: 3
place_id: 1, дата: '2014-02-03', value: 4
place_id: 2, date: ' 2014-02-15 ', значение: 5
Моя цель - найти для каждого месяца сумму максимального значения для всех мест. В контексте приведенных выше данных он должен выглядеть (неважно, как дата должна отображаться как: в качестве двух столбцов год и месяц или один столбец «yyyy-MM-01»):
дата: '2014 -01-01' , sum_of_max: 3
дата: „2014-02-01“, sum_of_max: 9
Как я получил, я должен использовать группу в два раза - во-первых, чтобы получить максимальное значение за месяц и место , во-вторых, чтобы суммировать максимумы, которые я получил на первом шаге. Но каким образом я могу сделать это с наилучшей производительностью?
P.S. Если это случилось, я использую PostGreSQL 9,2
Я думаю, что для внутреннего запроса нужен псевдоним. Нет? –
@AdrianMatteo, да. добавлено. –