все. Я новичок в Postgresql. Недавно я встретился с одним вопросом. У меня есть одна таблица с именем 'sales'.
create table sales
(
cust varchar(20),
prod varchar(20),
day integer,
month integer,
year integer,
state char(2),
quant integer
);
insert into sales values ('Bloom', 'Pepsi', 2, 12, 2001, 'NY', 4232);
insert into sales values ('Knuth', 'Bread', 23, 5, 2005, 'PA', 4167);
insert into sales values ('Emily', 'Pepsi', 22, 1, 2006, 'CT', 4404);
insert into sales values ('Emily', 'Fruits', 11, 1, 2000, 'NJ', 4369);
insert into sales values ('Helen', 'Milk', 7, 11, 2006, 'CT', 210);
insert into sales values ('Emily', 'Soap', 2, 4, 2002, 'CT', 2549);
insert into sales values ('Bloom', 'Eggs', 30, 11, 2000, 'NJ', 559);
.... Всего 498 строк. Вот обзор этой таблицы:
Теперь я хочу вычислить максимальные и минимальные объемы продаж для каждого продукта вместе с их соответствующим клиентом (который приобрел продукт),даты (т. е. даты этих максимальных и минимальных объемов продаж) и состояние, в котором была совершена сделка продажи. И среднее количество продаж для соответствующих продуктов.
Объединенный должен выглядеть следующим образом:
Он должен состоять из 10 строк, поскольку в общей сложности имеется 10 различных продуктов.
Iпопробовал:
select prod,
max(quant),
cust as MAX_CUST
from sales
group by prod;
, но он вернул ошибку и сказал, что cust должен быть в группе. Но я хочу классифицировать только по типу продукта.
Более того, как я могу горизонтально объединить max_q и его клиента, дату, состояние с min_q и его клиентом,дата, штат , а также AVG_Q по их названию продукта ? Я чувствую себя действительно смущенным!