Важно е да получавате най-продаваните продукти, ако управлявате онлайн магазин или бизнес за електронна търговия. Тъй като повечето онлайн уебсайтове работят на 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 улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте го днес!