У меня есть таблица со следующей схемой:
CREATE TABLE Sales (
"Date" date,
ID char(3),
Volume integer not null check (Volume >= 0),
primary key ("Date", ID)
;
Дата - это дата, когда продукт продан, ID - это идентификатор продукта, Объем - это количество продуктов, проданных в этот день.Это пример данных, введенных в базу данных:
Date | ID | volume
------------+------+---------
2012-01-03 | AAA | 100
2012-01-03 | BBB | 50
2012-01-03 | CCC | 356
2012-01-04 | AAA | 66
2012-01-04 | CCC | 99
2012-01-15 | BBB | 210
Я хотел бы получить представление, чтобы найти товар с наибольшим количеством продаваемых каждый день.
Ожидаемый результат следующий:
Date | ID | volume
------------+------+---------
2012-01-03 | CCC | 356
2012-01-04 | CCC | 99
2012-01-15 | BBB | 210
Я попробовал следующий код, но он выдает неправильный вывод:
create or replace view Sales("Date", ID, volume) as
select a."Date", a.ID, max(a.volume)
from Sales a
group by a."Date", a.ID
;
Я чувствую, что что-то не так с частью группы a.ID, но я не уверен.Спасибо за любую помощь, спасибо!