Важно е да получавате най-продаваните продукти, ако управлявате онлайн магазин или бизнес за електронна търговия. Тъй като повечето онлайн уебсайтове работят на MySQL, в тази статия ще разгледаме MySQL Query, за да получите най-продаваните продукти за вашия бизнес. Много е полезно за разбирането кои продукти се справят добре и кои се нуждаят от тласък. Можете да използвате тези заявки, за да получите най-продаваните продукти или да получите списък с най-продаваните артикули на вашия сайт.
MySQL заявка за получаване на най-продаваните продукти
Ще разгледаме два случая – първо, когато информацията за вашия продукт и информацията за продажбите са в една и съща таблица. Второ, когато информацията за вашия продукт и продажбите са в различни таблици.
Как да получите най-продаваните продукти
Да кажем, че имате таблица sales(id, product, order_date, amount) която съдържа информация за продукта и сумата за продажба в една таблица.
mysql> create table sales(id int, product varchar(10), order_date date, amount int); mysql> insert into sales(id, product, order_date, amount) values(1, 'Bike','2021-01-01',150), (2, 'Car','2021-01-01',450), (3, 'Bicycle','2021-01-02',50), (5, 'Car','2021-01-02',450), (6, 'Bike','2021-01-03',150), (7, 'SUV','2021-01-04',850), (8, 'Bike','2021-01-04',150); mysql> select * from sales; +------+---------+------------+--------+ | id | product | order_date | amount | +------+---------+------------+--------+ | 1 | Bike | 2021-01-01 | 150 | | 2 | Car | 2021-01-01 | 450 | | 3 | Bicycle | 2021-01-02 | 50 | | 5 | Car | 2021-01-02 | 450 | | 6 | Bike | 2021-01-03 | 150 | | 7 | SUV | 2021-01-04 | 850 | | 8 | Bike | 2021-01-04 | 150 | +------+---------+------------+--------+
Ще получим най-продаван продукт по продажби и по обем.
Бонус четене:Как да получите няколко броя в MySQL
Най-продавани продукти според общите продажби
Ето SQL заявката, за да получите най-продаваните продукти по общи продажби. В нашия случай ще изберем топ 3 най-продавани продукта по обща сума на продажбите.
mysql> select product, sum(amount) from sales group by product order by sum(amount) desc limit 3; +---------+-------------+ | product | sum(amount) | +---------+-------------+ | Car | 900 | | SUV | 850 | | Bike | 450 | +---------+-------------+
Нека разгледаме по-подробно горната заявка. Основно ГРУПИРАМЕ ПО продукт колона и обобщена сума колона с помощта на функция SUM.
Освен това ПОРЪЧВАМЕ ПО сума(сума) в низходящ ред, така че най-продаваните продукти да са изброени най-отгоре. Също така използваме клауза LIMIT 3, за да изберем само горните 3 реда на резултата.
Най-продавани продукти по общ обем
Ето SQL заявката за получаване на най-продаваните продукти по общ обем, тоест брой на продажбите.
mysql> select product, count(amount) from sales group by product order by count(amount) desc limit 3; +---------+---------------+ | product | count(amount) | +---------+---------------+ | Bike | 3 | | Car | 2 | | Bicycle | 1 | +---------+---------------+
Сега ще разгледаме втория случай. Понякога информацията за продукта и продажбите присъства в различни таблици.
Да кажем, че имате две таблици product(id, product_name) и sales(id, product_id, order_date, amount)
mysql> create table product(id int,product_name varchar(10)); mysql> insert into product(id, product_name) value(1,'Bike'), (2,'Car'), (3,'Bicycle'), (4,'SUV'); mysql> select * from product; +------+--------------+ | id | product_name | +------+--------------+ | 1 | Bike | | 2 | Car | | 3 | Bicycle | | 4 | SUV | +------+--------------+ mysql> create table sales(id int, product_id int, order_date date, amount int); mysql> insert into sales(id, product_id, order_date, amount) values(1, 1,'2021-01-01',150), (2, 2,'2021-01-01',450), (3, 3,'2021-01-02',50), (5, 2,'2021-01-02',450), (6, 1,'2021-01-03',150), (7, 4,'2021-01-04',850), (8, 1,'2021-01-04',150); mysql> select * from sales; +------+------------+------------+--------+ | id | product_id | order_date | amount | +------+------------+------------+--------+ | 1 | 1 | 2021-01-01 | 150 | | 2 | 2 | 2021-01-01 | 450 | | 3 | 3 | 2021-01-02 | 50 | | 5 | 2 | 2021-01-02 | 450 | | 6 | 1 | 2021-01-03 | 150 | | 7 | 4 | 2021-01-04 | 850 | | 8 | 1 | 2021-01-04 | 150 | +------+------------+------------+--------+
Бонус четене:Как да използвате COALESCE в MySQL
Най-продавани продукти според общите продажби
Ето SQL заявката, за да получите най-продаваните продукти по общи продажби. По принцип ще обединим двете таблици, за да получим името на продукта и общите продажби в резултата от заявката.
mysql> select product_name, sum(amount) from sales,product where sales.product_id=product.id group by product_name order by sum(amount) desc limit 3; +--------------+-------------+ | product_name | sum(amount) | +--------------+-------------+ | Car | 900 | | SUV | 850 | | Bike | 450 | +--------------+-------------+
Нека разгледаме по-подробно горната заявка. Избираме име_на_продукт и сума(сума) колони от продукт и продажби маси. Съединяваме двете таблици с помощта на product_id колона от продажби таблица и идентификатор колона от продукт таблица, GROUP BY продукт колона и обобщена сума колона с помощта на функция SUM.
Освен това ПОРЪЧВАМЕ ПО сума(сума) в низходящ ред, така че най-продаваните продукти да са изброени най-отгоре. Също така използваме клауза LIMIT 3, за да изберем само горните 3 реда на резултата.
Бонус за четене:Как да заявя колона за JSON в MySQL
Най-продавани продукти по общ обем
Ето SQL заявката за получаване на най-продаваните продукти по общ обем, тоест брой на продажбите.
mysql> select product_name, count(amount) from sales,product where sales.product_id=product.id group by product_name order by count(amount) desc limit 3; +--------------+---------------+ | product_name | count(amount) | +--------------+---------------+ | Bike | 3 | | Car | 2 | | Bicycle | 1 | +--------------+---------------+
Вземете най-продаваните продукти с помощта на Ubiq
Инструментът за отчитане на Ubiq поддържа всички горепосочени SQL заявки и улеснява визуализирането на SQL резултатите по различни начини. Той също така ви позволява да създавате табла за управление и диаграми от MySQL данни. Ето SQL заявката, за да получите най-продаваните продукти в Ubiq.
Всъщност, след като изпълните заявката, можете просто да щракнете върху тип визуализация, за да начертаете резултата в диаграма.
Нуждаете се от инструмент за отчитане за MySQL? Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте го днес!