Flat lay of business concept
SQLiteは軽量で扱いやすいデータベースとして、多くのアプリケーションやツールで利用されています。データの集計や分析を行う際に欠かせないのが、集計関数(COUNT, SUM, AVG, MIN, MAX)です。これらの関数を使いこなすことで、データの傾向や重要な指標を簡単に抽出できます。この記事では、SQLiteにおける各集計関数の基本的な使い方と具体的な活用例をわかりやすく解説します。SQL初心者の方でも実践できる内容ですので、ぜひ参考にしてください。
集計関数とは、複数の行の値をまとめて計算し、1つの結果を返す関数です。SQLiteでは以下のような関数が代表的です。
COUNT()
:行数を数えるSUM()
:合計を求めるAVG()
:平均値を求めるMIN()
:最小値を求めるMAX()
:最大値を求めるこれらは、SELECT
文の中で使用され、グループ集計や全体の統計を出す場面で活躍します。
COUNT()
は、指定した列に値が入っている行の数を返す関数です。
SELECT COUNT(*) FROM users;
この例では、users
テーブルに存在する全行数をカウントします。
SELECT COUNT(email) FROM users;
このように列を指定すると、email
列がNULLでない行のみをカウントします。
SUM()
は、指定した列の数値の合計を返します。
SELECT SUM(price) FROM orders;
このクエリでは、orders
テーブルのprice
列にあるすべての価格の合計を求めます。
AVG()
は、指定した列の平均値を返します。NULLは無視されます。
SELECT AVG(score) FROM test_results;
このクエリは、test_results
テーブルのscore
列にある数値の平均を算出します。
MIN()
は、指定した列の最小値を返します。
SELECT MIN(price) FROM products;
このクエリでは、products
テーブルにある最も安い商品の価格を取得します。
MAX()
は、指定した列の最大値を返します。
SELECT MAX(price) FROM products;
このクエリでは、products
テーブルにある最も高額な商品の価格を取得します。
集計関数は、GROUP BY
句と組み合わせることで、グループごとの集計が可能になります。
SELECT category, COUNT(*) FROM products GROUP BY category;
このクエリは、各カテゴリごとに商品の数をカウントします。
SELECT department, AVG(salary) FROM employees GROUP BY department;
部署ごとの平均給与を出すことも簡単に行えます。
集計関数はWHERE
句とも組み合わせることができます。
SELECT COUNT(*) FROM users WHERE gender = 'female';
このクエリでは、女性ユーザーの数を数えています。
SELECT SUM(price) FROM orders WHERE order_date >= '2025-01-01';
2025年以降の売上合計も簡単に取得できます。
HAVING
句はGROUP BY
で集計した後の結果に対して条件を指定するために使います。
SELECT category, COUNT(*) FROM products GROUP BY category HAVING COUNT(*) > 10;
これは「10個以上の商品があるカテゴリ」のみを抽出します。WHERE
は集計前の絞り込み、HAVING
は集計後の絞り込みに使うという点がポイントです。
以下のような売上テーブルがあると仮定します。
order_id | customer_id | amount | order_date |
---|---|---|---|
1 | 101 | 1200 | 2025-01-10 |
2 | 102 | 800 | 2025-01-11 |
3 | 101 | 600 | 2025-01-12 |
以下のようなSQLで様々なレポートが作れます。
SELECT SUM(amount) FROM sales WHERE order_date BETWEEN '2025-01-01' AND '2025-01-31';
SELECT customer_id, COUNT(*) FROM sales GROUP BY customer_id;
SELECT AVG(amount) FROM sales;
SQLiteの集計関数は、データ分析において非常に強力なツールです。COUNT
, SUM
, AVG
, MIN
, MAX
を使いこなすことで、データの傾向をすばやく把握でき、レポート作成や業務効率化に大いに役立ちます。特にGROUP BY
やHAVING
との組み合わせを覚えると、さらに幅広い集計が可能になります。
日常業務やアプリ開発でSQLiteを使用している方は、ぜひこの記事を参考にして、集計関数を活用してみてください。