Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie MySQL, aby uzyskać najlepiej sprzedające się produkty

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ś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Linki do projektów nie działają na serwerze Wamp

  2. Najlepsza praktyka:Importuj plik mySQL w PHP; podzielone zapytania

  3. Jak mogę pominąć dane wyjściowe nagłówka kolumny dla pojedynczej instrukcji SQL?

  4. Czy mogę sparametryzować nazwę tabeli w przygotowanym zestawieniu?

  5. MySQL pomiędzy klauzulą ​​nie włącznie?