Det er vigtigt at få bedst sælgende produkter, hvis du driver en online butik eller e-handelsvirksomhed. Da de fleste online-websteder kører på MySQL, vil vi i denne artikel se på MySQL-forespørgsel for at få bedst sælgende produkter til din virksomhed. Det er meget nyttigt til at forstå, hvilke produkter der klarer sig godt, og hvilke der har brug for et skub. Du kan bruge disse forespørgsler til at få mest solgte produkter eller få en liste over bedst sælgende varer på dit websted.
MySQL-forespørgsel for at få bedst sælgende produkter
Vi vil se på to tilfælde – for det første når dine produktoplysninger og salgsoplysninger er i samme tabel. For det andet, når dine produkt- og salgsoplysninger er i forskellige tabeller.
Sådan får du bedst sælgende produkter
Lad os sige, at du har en tabel salg(id, produkt, ordre_dato, beløb) som indeholder oplysninger om produkt og salgsbeløb i en enkelt tabel.
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 | +------+---------+------------+--------+
Vi vil få det bedst sælgende produkt efter salg og volumen.
Bonus Læs:Sådan får du flere tællinger i MySQL
Bestsælgende produkter efter samlet salg
Her er SQL-forespørgslen for at få bedst sælgende produkter efter samlet salg. I vores tilfælde vil vi vælge top 3 bedst sælgende produkter efter samlet salgsbeløb.
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 | +---------+-------------+
Lad os se på ovenstående forespørgsel i detaljer. Vi GRUPPER efter produkt kolonne og samlet beløb kolonne ved hjælp af SUM-funktionen.
Vi BESTILLER yderligere EFTER sum(beløb) i faldende rækkefølge, så de bedst sælgende produkter er listet øverst. Vi bruger også LIMIT 3-klausul til kun at vælge de øverste 3 rækker af resultater.
Bestsælgende produkter efter samlet volumen
Her er SQL-forespørgslen for at få bedst sælgende produkter efter samlet volumen, det vil sige antal salg.
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 | +---------+---------------+
Nu vil vi se på det andet tilfælde. Nogle gange er produkt- og salgsoplysninger til stede i forskellige tabeller.
Lad os sige, at du har to tabeller produkt(id, produktnavn) og salg(id, produkt_id, ordredato, beløb)
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 | +------+------------+------------+--------+
Bonuslæser:Sådan bruger du COALESCE i MySQL
Bestsælgende produkter efter samlet salg
Her er SQL-forespørgslen for at få bedst sælgende produkter efter samlet salg. Vi vil grundlæggende forbinde de to tabeller for at få produktnavn og samlet salg i forespørgselsresultatet.
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 | +--------------+-------------+
Lad os se på ovenstående forespørgsel i detaljer. Vi VÆLGER produktnavn og sum(beløb) kolonner fra produkt og salg tabeller. Vi forbinder de to tabeller ved hjælp af product_id kolonne fra salg tabel og id kolonne fra produkt tabel, GRUPPER EFTER produkt kolonne og samlet beløb kolonne ved hjælp af SUM-funktionen.
Vi BESTILLER yderligere EFTER sum(beløb) i faldende rækkefølge, så de bedst sælgende produkter er listet øverst. Vi bruger også LIMIT 3-klausul til kun at vælge de øverste 3 rækker af resultater.
Bonus Læs:Sådan forespørges JSON-kolonnen i MySQL
Bestsælgende produkter efter samlet volumen
Her er SQL-forespørgslen for at få bedst sælgende produkter efter samlet volumen, det vil sige antal salg.
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 | +--------------+---------------+
Få bedst sælgende produkter ved hjælp af Ubiq
Ubiq Reporting-værktøj understøtter alle ovenstående SQL-forespørgsler og gør det nemt at visualisere SQL-resultater på forskellige måder. Det giver dig også mulighed for at oprette dashboards og diagrammer fra MySQL-data. Her er SQL-forespørgslen for at få bedst sælgende produkter i Ubiq.
Faktisk, efter at du har kørt forespørgslen, kan du blot klikke på en visualiseringstype for at plotte resultatet i et diagram.
Har du brug for et rapporteringsværktøj til MySQL? Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!