Es ist wichtig, meistverkaufte Produkte zu erhalten, wenn Sie einen Online-Shop oder ein E-Commerce-Geschäft betreiben. Da die meisten Online-Websites auf MySQL laufen, werden wir uns in diesem Artikel mit MySQL Query befassen, um die meistverkauften Produkte für Ihr Unternehmen zu erhalten. Es ist sehr nützlich, um zu verstehen, welche Produkte gut laufen und welche einen Schub brauchen. Sie können diese Abfragen verwenden, um die meistverkauften Produkte oder eine Liste der meistverkauften Artikel auf Ihrer Website zu erhalten.
MySQL-Abfrage, um die meistverkauften Produkte zu erhalten
Wir werden uns zwei Fälle ansehen – erstens, wenn sich Ihre Produktinformationen und Verkaufsinformationen in derselben Tabelle befinden. Zweitens, wenn sich Ihre Produkt- und Verkaufsinformationen in unterschiedlichen Tabellen befinden.
So erhalten Sie die meistverkauften Produkte
Nehmen wir an, Sie haben eine Tabelle Verkäufe (ID, Produkt, Bestelldatum, Betrag) die Informationen über das Produkt und den Verkaufsbetrag in einer einzigen Tabelle enthält.
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 | +------+---------+------------+--------+
Wir erhalten das meistverkaufte Produkt nach Umsatz und Volumen.
Bonus-Lesetext:So erhalten Sie mehrere Zählwerte in MySQL
Meistverkaufte Produkte nach Gesamtumsatz
Hier ist die SQL-Abfrage, um die meistverkauften Produkte nach Gesamtumsatz zu erhalten. In unserem Fall wählen wir die 3 meistverkauften Produkte nach Gesamtumsatz aus.
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 | +---------+-------------+
Betrachten wir die obige Abfrage im Detail. Wir GRUPPIEREN NACH Produkt Spalte und aggregierter Betrag Spalte mit SUM-Funktion.
Wir ORDER BY sum(amount) in absteigender Reihenfolge weiter, sodass die meistverkauften Produkte ganz oben aufgeführt werden. Wir verwenden auch die LIMIT 3-Klausel, um nur die obersten 3 Ergebniszeilen auszuwählen.
Meistverkaufte Produkte nach Gesamtvolumen
Hier ist die SQL-Abfrage zum Abrufen der meistverkauften Produkte nach Gesamtvolumen, d. h. Anzahl der Verkäufe.
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 | +---------+---------------+
Nun betrachten wir den zweiten Fall. Manchmal sind Produkt- und Verkaufsinformationen in verschiedenen Tabellen vorhanden.
Nehmen wir an, Sie haben zwei Tabellen product(id, product_name) und Verkäufe (ID, Produkt_ID, Bestelldatum, Betrag)
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 | +------+------------+------------+--------+
Bonuslektüre:Wie man COALESCE in MySQL verwendet
Meistverkaufte Produkte nach Gesamtumsatz
Hier ist die SQL-Abfrage, um die meistverkauften Produkte nach Gesamtumsatz zu erhalten. Wir werden im Grunde die beiden Tabellen zusammenführen, um den Produktnamen und den Gesamtumsatz im Abfrageergebnis zu erhalten.
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 | +--------------+-------------+
Betrachten wir die obige Abfrage im Detail. Wir WÄHLEN product_name und Summe(Betrag) Spalten von Produkt und Verkäufe Tische. Wir verbinden die beiden Tabellen mit product_id Spalte von Verkäufe Tabelle und id Spalte von Produkt Tabelle, GROUP BY Produkt Spalte und aggregierter Betrag Spalte mit SUM-Funktion.
Wir ORDER BY sum(amount) in absteigender Reihenfolge weiter, sodass die meistverkauften Produkte ganz oben aufgeführt werden. Wir verwenden auch die LIMIT 3-Klausel, um nur die obersten 3 Ergebniszeilen auszuwählen.
Bonus-Lesetext:Wie man die JSON-Spalte in MySQL abfragt
Meistverkaufte Produkte nach Gesamtvolumen
Hier ist die SQL-Abfrage zum Abrufen der meistverkauften Produkte nach Gesamtvolumen, d. h. Anzahl der Verkäufe.
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 | +--------------+---------------+
Erhalte Top-Seller-Produkte mit Ubiq
Das Ubiq Reporting Tool unterstützt alle oben genannten SQL-Abfragen und macht es einfach, SQL-Ergebnisse auf unterschiedliche Weise zu visualisieren. Es ermöglicht Ihnen auch, Dashboards und Diagramme aus MySQL-Daten zu erstellen. Hier ist die SQL-Abfrage, um die meistverkauften Produkte in Ubiq abzurufen.
Nachdem Sie die Abfrage ausgeführt haben, können Sie einfach auf einen Visualisierungstyp klicken, um das Ergebnis in einem Diagramm darzustellen.
Benötigen Sie ein Reporting-Tool für MySQL? Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!