У меня есть отношение в базе данных PostgreSQL, называемое «processing_data», имеющее следующую схему:
Дата -> тип даты, shop_id -> целочисленный тип, item_category_id -> целочисленный тип, sum_item_cnt_day -> действительный тип.
Отображение первых 5 строк отношения выглядит следующим образом:
date | shop_id | item_category_id | sum_item_cnt_day
------+-----------+--------------------+------------------
2014-12-29 | 49 | 3 | 4
2014-12-29 | 49 | 6 | 1
2014-12-29 | 49 | 7 | 1
2014-12-29 | 49 | 12 | 3
2014-12-29 | 49 | 16 | 1
Теперь «shop_id» имеет 60 уникальных магазинов в диапазоне от 0 до 59, где каждый магазин продает несколько товаров, сгруппированных в новый столбец «item_category_id», где «sum_item_cnt_day» обозначает количество товаров, проданных магазином, и его item_category_id.
Сейчас я пытаюсь еще больше агрегировать данные, просто пытаясь получить следующие столбцы в качестве окончательного результата-
date, shop_id, sum_item_cnt_day
Таким образом, данные агрегируются в соответствии с количеством всех товаров, проданных в item_category_id для каждого магазина (обозначается shop_id) и расчетной суммой sum_item_cnt_day.
Когда я пытаюсь выполнить следующую команду SQL-
select date, shop_id, sum(sum_item_cnt_day) from processed_data group by shop_id;
выдает ошибку-
ОШИБКА: столбец «processing_data.date» должен появляться в предложении GROUP BY или использоваться в статистической функции
ЛИНИЯ 1: выберите дату, shop_id, сумму (sum_item_cnt_day) из обработанных_д ...
^
Даже следующая команда SQL-
select date, shop_id, sum(sum_item_cnt_day) from processed_data where date between '2013-01-01' and '2013-01-31' group by shop_id;
выдает ошибку-
ОШИБКА: столбец «processing_data.date» должен появляться в предложении GROUP BY или использоваться в статистической функции
ЛИНИЯ 1: выберите дату, shop_id, сумму (sum_item_cnt_day) из обработанных_д ...
^
Какие-нибудь предложения относительно того, что идет не так и что я пропускаю?
Спасибо!