Det är viktigt att få toppsäljande produkter om du driver en webbutik eller e-handelsverksamhet. Eftersom de flesta onlinewebbplatser körs på MySQL kommer vi i den här artikeln att titta på MySQL Query för att få bästsäljande produkter för ditt företag. Det är väldigt användbart för att förstå vilka produkter som fungerar bra och vilka som behöver en push. Du kan använda dessa frågor för att få mest sålda produkter eller få en lista över bästsäljande varor på din webbplats.
MySQL-fråga för att få bästsäljande produkter
Vi kommer att titta på två fall – först när din produktinformation och försäljningsinformation finns i samma tabell. För det andra, när din produkt- och försäljningsinformation finns i olika tabeller.
Hur får du bästsäljande produkter
Låt oss säga att du har en tabell försäljning(id, produkt, orderdatum, belopp) som innehåller information om produkt och försäljningsbelopp i en enda tabell.
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 kommer att få bästsäljande produkter efter försäljning och volym.
Bonus Läs:Hur man får flera räkningar i MySQL
Bästsäljande produkter efter total försäljning
Här är SQL-frågan för att få bästsäljande produkter efter total försäljning. I vårt fall kommer vi att välja topp 3 bästsäljande produkter efter totalt försäljningsbelopp.
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 | +---------+-------------+
Låt oss titta på ovanstående fråga i detalj. Vi GRUPPERAR PER produkt kolumn och sammanlagt belopp kolumn med SUM-funktionen.
Vi BESTÄLLER vidare PER summa(belopp) i fallande ordning så att de mest sålda produkterna listas överst. Vi använder också LIMIT 3-satsen för att bara välja de tre översta raderna med resultat.
Bästsäljande produkter efter total volym
Här är SQL-frågan för att få bästsäljande produkter efter total volym, det vill säga antalet försäljningar.
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 ska vi titta på det andra fallet. Ibland finns produkt- och försäljningsinformation i olika tabeller.
Låt oss säga att du har två tabeller produkt(id, produktnamn) och försäljning(id, produkt-id, orderdatum, belopp)
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 | +------+------------+------------+--------+
Bonus Läs:Hur man använder COALESCE i MySQL
Bästsäljande produkter efter total försäljning
Här är SQL-frågan för att få bästsäljande produkter efter total försäljning. Vi kommer i princip att slå samman de två tabellerna för att få produktnamn och total försäljning i frågeresultat.
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 | +--------------+-------------+
Låt oss titta på ovanstående fråga i detalj. Vi VÄLJER produktnamn och sum(amount) kolumner från produkt och försäljning tabeller. Vi sammanfogar de två tabellerna med product_id kolumn från försäljning tabell och id kolumn från produkt tabell, GROUP BY produkt kolumn och sammanlagt belopp kolumn med SUM-funktionen.
Vi BESTÄLLER vidare PER summa(belopp) i fallande ordning så att de mest sålda produkterna listas överst. Vi använder också LIMIT 3-satsen för att bara välja de tre översta raderna med resultat.
Bonus Läs:Hur man frågar JSON-kolumnen i MySQL
Bästsäljande produkter efter total volym
Här är SQL-frågan för att få bästsäljande produkter efter total volym, det vill säga antalet försäljningar.
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å bästsäljande produkter med Ubiq
Ubiqs rapporteringsverktyg stöder alla ovanstående SQL-frågor och gör det enkelt att visualisera SQL-resultat på olika sätt. Det låter dig också skapa instrumentpaneler och diagram från MySQL-data. Här är SQL-frågan för att få bästsäljande produkter i Ubiq.
När du har kört frågan kan du faktiskt helt enkelt klicka på en visualiseringstyp för att plotta resultatet i ett diagram.
Behöver du ett rapporteringsverktyg för MySQL? Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!