Jeśli prowadzisz sklep internetowy lub prowadzisz działalność e-commerce, ważne jest, aby kupować najlepiej sprzedające się produkty. Ponieważ większość witryn internetowych działa na MySQL, w tym artykule przyjrzymy się MySQL Query, aby uzyskać najlepiej sprzedające się produkty dla Twojej firmy. Jest to bardzo przydatne w zrozumieniu, które produkty mają się dobrze, a które wymagają nacisku. Możesz użyć tych zapytań, aby uzyskać najlepiej sprzedające się produkty lub uzyskać listę najlepiej sprzedających się przedmiotów w swojej witrynie.
Zapytanie MySQL, aby uzyskać najlepiej sprzedające się produkty
Przyjrzymy się dwóm przypadkom – po pierwsze, gdy informacje o produkcie i informacje o sprzedaży znajdują się w tej samej tabeli. Po drugie, gdy informacje o produkcie i sprzedaży znajdują się w różnych tabelach.
Jak zdobyć najlepiej sprzedające się produkty
Załóżmy, że masz tabelę sprzedaż(id, produkt, data_zamówienia, kwota) który zawiera informacje o produkcie i ilości sprzedaży w jednej tabeli.
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 |
+------+---------+------------+--------+
Otrzymamy najlepiej sprzedający się produkt pod względem sprzedaży i ilości.
Przeczytaj bonus:Jak uzyskać wiele zliczeń w MySQL
Najlepiej sprzedające się produkty według łącznej sprzedaży
Oto zapytanie SQL, aby uzyskać najlepiej sprzedające się produkty według łącznej sprzedaży. W naszym przypadku wybierzemy 3 najlepiej sprzedające się produkty według łącznej kwoty sprzedaży.
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 |
+---------+-------------+ Przyjrzyjmy się szczegółowo powyższemu zapytaniu. Zasadniczo GROUP BY produkt kolumna i agregacja kwota kolumna za pomocą funkcji SUMA.
Dalej ZAMAWIAJ WEDŁUG sumy (kwoty) w kolejności malejącej, tak aby najlepiej sprzedające się produkty były wymienione na górze. Używamy również klauzuli LIMIT 3, aby wybrać tylko 3 górne wiersze wyników.
Najlepiej sprzedające się produkty według całkowitej ilości
Oto zapytanie SQL, aby uzyskać najlepiej sprzedające się produkty według całkowitego wolumenu, czyli liczby sprzedaży.
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 |
+---------+---------------+
Teraz przyjrzymy się drugiemu przypadkowi. Czasami informacje o produkcie i sprzedaży znajdują się w różnych tabelach.
Załóżmy, że masz dwie tabele produkt(id, nazwa_produktu) i sprzedaż(id, identyfikator_produktu, data_zamówienia, kwota)
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 |
+------+------------+------------+--------+ Przeczytaj bonus:Jak używać COALESCE w MySQL
Najlepiej sprzedające się produkty według łącznej sprzedaży
Oto zapytanie SQL, aby uzyskać najlepiej sprzedające się produkty według łącznej sprzedaży. Zasadniczo połączymy dwie tabele, aby uzyskać nazwę produktu i całkowitą sprzedaż w wyniku zapytania.
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 |
+--------------+-------------+ Przyjrzyjmy się szczegółowo powyższemu zapytaniu. WYBIERAMY nazwa_produktu i suma(kwota) kolumny z produktu i sprzedaż tabele. Łączymy dwa stoły za pomocą product_id kolumna z sprzedaży tabela i id kolumna z produktu tabela, GROUP BY produkt kolumna i agregacja kwota kolumna za pomocą funkcji SUMA.
Dalej ZAMAWIAJ WEDŁUG sumy (kwoty) w kolejności malejącej, tak aby najlepiej sprzedające się produkty były wymienione na górze. Używamy również klauzuli LIMIT 3, aby wybrać tylko 3 górne wiersze wyników.
Bonus Przeczytaj:Jak przeszukiwać kolumnę JSON w MySQL
Najlepiej sprzedające się produkty według całkowitej ilości
Oto zapytanie SQL, aby uzyskać najlepiej sprzedające się produkty według całkowitego wolumenu, czyli liczby sprzedaży.
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 |
+--------------+---------------+
Uzyskaj najlepiej sprzedające się produkty dzięki Ubiq
Narzędzie Ubiq Reporting obsługuje wszystkie powyższe zapytania SQL i ułatwia wizualizację wyników SQL na różne sposoby. Umożliwia także tworzenie kokpitów i wykresów z danych MySQL. Oto zapytanie SQL, aby uzyskać najlepiej sprzedające się produkty w Ubiq.
W rzeczywistości po uruchomieniu zapytania wystarczy kliknąć typ wizualizacji, aby wykreślić wynik na wykresie.
Potrzebujesz narzędzia do raportowania dla MySQL? Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!