У меня есть таблица, содержащая имя магазина, даты продажи и продающиеся:Sql расчет процентов и группировка
Shop | Date | Item
Shop1 | xxxxx | A
Shop1 | xxxxx | B
Shop1 | xxxxx | B
Shop1 | xxxxx | A
Shop1 | xxxxx | A
Так они продали 3 шт «A» и 2 ст «B»
Так что, пункт а (3 продано) составляет 60% от общего числа (5 проданных товаров) и пункт Б 40%
Так что я хотел бы получить что-то вроде этого:
Shop1 | A | 3 | 60%
Shop1 | B | 2 | 40%
Оно должно быть получено:
Select Shop, item, count(item), count(item) *100/(select count(item) from table) + '%'
from table
group by Shop, item;
Моя проблема заключается в том, что таблицы не содержит только один магазин, но другие магазины тоже: shop1, Shop2 и так далее.
Так что я хотел бы получить результат, как этот:
Shop1 | A | 3 | 60%
Shop1 | B | 2 | 40%
Shop2 | A | 8 | 80%
Shop2 | B | 2 | 20%
shop3 | A | 1 | 100%
shop4……
Любая помощь?
Какая система баз данных вы используете? –