オンラインストアやeコマースビジネスを運営している場合は、最も売れている商品を入手することが重要です。ほとんどのオンラインWebサイトはMySQLで実行されているため、この記事では、MySQLクエリを調べて、ビジネスで最も売れている製品を取得します。これは、どの製品がうまく機能しているか、どの製品をプッシュする必要があるかを理解するのに非常に役立ちます。これらのクエリを使用して、最も売れている商品を取得したり、サイトで最も売れている商品のリストを取得したりできます。
売れ筋商品を取得するためのMySQLクエリ
2つのケースを見ていきます。1つは、製品情報と販売情報が同じテーブルにある場合です。次に、商品と販売の情報が異なるテーブルにある場合。
最も売れている商品を入手する方法
テーブルsales(id、product、order_date、amount)があるとします。 1つのテーブルに製品と販売額の情報が含まれています。
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 |
+------+---------+------------+--------+
売上高と数量で最も売れている製品を取得します。
ボーナスリード:MySQLで複数のカウントを取得する方法
総売上高で最も売れている製品
これは、総売上高で最も売れている製品を取得するためのSQLクエリです。私たちの場合、総売上高で最も売れている商品のトップ3を選択します。
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 |
+---------+-------------+ 上記のクエリを詳しく見てみましょう。基本的にGROUPBY product 列と集計の金額 SUM関数を使用した列。
さらに、sum(amount)を降順で並べ替え、最も売れている商品が一番上に表示されるようにします。また、LIMIT 3句を使用して、結果の上位3行のみを選択します。
総量で最も売れている製品
これは、総量、つまり売上高で最も売れている製品を取得するためのSQLクエリです。
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 |
+---------+---------------+
次に、2番目のケースを見ていきます。製品と販売の情報が異なるテーブルに表示される場合があります。
2つのテーブルがあるとしますproduct(id、product_name) およびsales(id、product_id、order_date、amount)
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 |
+------+------------+------------+--------+ ボーナスリード:MySQLでCOALESCEを使用する方法
総売上高で最も売れている製品
これは、総売上高で最も売れている製品を取得するためのSQLクエリです。基本的に2つのテーブルを結合して、クエリ結果の製品名と総売上高を取得します。
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 |
+--------------+-------------+ 上記のクエリを詳しく見てみましょう。 product_nameを選択します およびsum(amount) productの列 および販売 テーブル。 product_idを使用して2つのテーブルを結合します 販売の列 テーブルとid productの列 テーブル、GROUP BY product 列と集計の金額 SUM関数を使用した列。
さらに、sum(amount)を降順で並べ替え、最も売れている商品が一番上に表示されるようにします。また、LIMIT 3句を使用して、結果の上位3行のみを選択します。
ボーナスリード:MySQLでJSON列をクエリする方法
総量で最も売れている製品
これは、総量、つまり売上高で最も売れている製品を取得するためのSQLクエリです。
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 |
+--------------+---------------+
Ubiqを使用して最も売れている製品を入手する
Ubiq Reportingツールは、上記のすべてのSQLクエリをサポートし、さまざまな方法でSQL結果を簡単に視覚化できるようにします。また、MySQLデータからダッシュボードとチャートを作成することもできます。これは、Ubiqで最も売れている製品を取得するためのSQLクエリです。
> 実際、クエリを実行した後、視覚化タイプをクリックするだけで、結果をグラフにプロットできます。
MySQL用のレポートツールが必要ですか? Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日それを試してみてください!