Pokud provozujete internetový obchod nebo elektronický obchod, je důležité získat nejprodávanější produkty. Protože většina online webových stránek běží na MySQL, v tomto článku se podíváme na MySQL Query, abychom pro vaši firmu získali nejprodávanější produkty. Je to velmi užitečné pro pochopení, které produkty si vedou dobře a které potřebují postrčit. Tyto dotazy můžete použít k získání nejprodávanějších produktů nebo k získání seznamu nejprodávanějších položek na vašem webu.
Dotaz MySQL k získání nejprodávanějších produktů
Podíváme se na dva případy – za prvé, když jsou vaše informace o produktu a informace o prodeji ve stejné tabulce. Za druhé, když jsou informace o vašem produktu a prodeji v různých tabulkách.
Jak získat nejprodávanější produkty
Řekněme, že máte tabulku prodej (id, produkt, datum_objednávky, částka) která obsahuje informace o produktu a výši prodeje v jediné tabulce.
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 | +------+---------+------------+--------+
Získáme nejprodávanější produkt podle prodejů a podle objemu.
Bonusové čtení:Jak získat vícenásobné počty v MySQL
Nejprodávanější produkty podle celkového prodeje
Zde je dotaz SQL pro získání nejprodávanějších produktů podle celkového prodeje. V našem případě vybereme 3 nejprodávanější produkty podle celkového objemu prodeje.
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 | +---------+-------------+
Podívejme se na výše uvedený dotaz podrobně. V zásadě SKUPUJEME PODLE produktu sloupec a souhrnná částka pomocí funkce SUM.
Dále OBJEDNÁVÁME PODLE sumy (částky) v sestupném pořadí tak, aby nejprodávanější produkty byly uvedeny nahoře. Také používáme klauzuli LIMIT 3 k výběru pouze prvních 3 řádků výsledku.
Nejprodávanější produkty podle celkového objemu
Zde je dotaz SQL pro získání nejprodávanějších produktů podle celkového objemu, tedy počtu prodejů.
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 | +---------+---------------+
Nyní se podíváme na druhý případ. Někdy jsou informace o produktu a prodeji uvedeny v různých tabulkách.
Řekněme, že máte dvě tabulky product(id, product_name) a prodej (id, produkt_id, datum_objednavky, částka)
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 | +------+------------+------------+--------+
Bonusové čtení:Jak používat COALESCE v MySQL
Nejprodávanější produkty podle celkového prodeje
Zde je dotaz SQL pro získání nejprodávanějších produktů podle celkového prodeje. V podstatě spojíme dvě tabulky, abychom ve výsledku dotazu získali název produktu a celkový prodej.
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 | +--------------+-------------+
Podívejme se na výše uvedený dotaz podrobně. VYBEREME název_produktu a součet (částka) sloupce z produktu a prodeje tabulky. Tyto dvě tabulky spojíme pomocí product_id sloupec z prodeje tabulka a id sloupec z produktu tabulka, GROUP BY produkt sloupec a souhrnná částka pomocí funkce SUM.
Dále OBJEDNÁVÁME PODLE sumy (částky) v sestupném pořadí tak, aby nejprodávanější produkty byly uvedeny nahoře. Také používáme klauzuli LIMIT 3 k výběru pouze prvních 3 řádků výsledku.
Bonusové čtení:Jak dotazovat sloupec JSON v MySQL
Nejprodávanější produkty podle celkového objemu
Zde je dotaz SQL pro získání nejprodávanějších produktů podle celkového objemu, tedy počtu prodejů.
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 | +--------------+---------------+
Získejte nejprodávanější produkty pomocí Ubiq
Nástroj Ubiq Reporting podporuje všechny výše uvedené SQL dotazy a usnadňuje vizualizaci výsledků SQL různými způsoby. Umožňuje také vytvářet dashboardy a grafy z dat MySQL. Zde je dotaz SQL pro získání nejprodávanějších produktů v Ubiq.
Ve skutečnosti po spuštění dotazu můžete jednoduše kliknout na typ vizualizace a výsledek vykreslit do grafu.
Potřebujete nástroj pro vytváření sestav pro MySQL? Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Zkuste to ještě dnes!