この記事では、ストアの商品在庫データを用いて、各商品カテゴリごとに在庫数が特定の数以上の商品だけをリストアップするSQLクエリについて解説します。具体的なSQL文やテーブル構造、コード例を用いて詳しく説明します。
目次
はじめに
在庫管理はビジネスの重要な要素の一つです。効率的な在庫管理には、データベースの活用が欠かせません。本記事ではSQLを用いて、特定の条件に一致する商品の在庫状況を把握する方法を学びます。
サンプルデータの紹介
まずは、使用するサンプルのテーブルデータを紹介します。
ID | 商品名 | カテゴリ | 在庫数 |
---|---|---|---|
1 | リンゴ | フルーツ | 50 |
2 | ミカン | フルーツ | 30 |
3 | 牛乳 | 飲料 | 20 |
4 | コーヒー | 飲料 | 40 |
基本的なSQLクエリ
特定のカテゴリで在庫数が40以上の商品をリストアップする基本的なSQLクエリは以下の通りです。
SELECT * FROM products WHERE category = 'フルーツ' AND stock >= 40;
各商品カテゴリごとに在庫数をフィルター
GROUP BYとHAVINGを使う
特定の在庫数以上の商品を各カテゴリごとにリストアップするには、`GROUP BY`と`HAVING`を使います。
SELECT category, COUNT(*)
FROM products
GROUP BY category
HAVING SUM(stock) >= 40;
このクエリは、各カテゴリごとに在庫数が40以上の商品数をカウントします。
サブクエリを使う
別の方法としてサブクエリを使うこともできます。
SELECT * FROM products
WHERE category IN
(SELECT category FROM products GROUP BY category HAVING SUM(stock) >= 40);
実用的なクエリ例
実際の業務で使えるようなクエリも考えてみましょう。
特定の在庫数以上の商品とその平均価格
SELECT category, AVG(price)
FROM products
WHERE stock >= 40
GROUP BY category;
このクエリでは、在庫数が40以上の各カテゴリの商品の平均価格を求めます。
まとめ
この記事では、ストアの商品在庫データを用いて、特定の在庫数以上の商品をカテゴリごとにリストアップする方法を学びました。基本的なSQLクエリから応用例まで、幅広く解説しました。
created by Rinker
¥4,554
(2024/11/22 10:55:01時点 Amazon調べ-詳細)
コメント