ホームページ >データベース >SQL >SQLで集計関数(合計、AVG、カウント、MIN、MAX)を使用するにはどうすればよいですか?

SQLで集計関数(合計、AVG、カウント、MIN、MAX)を使用するにはどうすればよいですか?

百草
百草オリジナル
2025-03-14 18:10:39610ブラウズ

SQLで集計関数(合計、AVG、カウント、MIN、MAX)を使用するにはどうすればよいですか?

SQLの集約関数は、一連の値で計算を実行し、単一の値を返すために使用される強力なツールです。これらは、データベースから統計情報を取得するために、 SELECTステートメントと併せて一般的に使用されます。一般的な集計関数のそれぞれを探りましょう。

  • 合計:この関数は、数値列の合計を計算します。指定された列にすべての値を追加するために使用されます。たとえば、販売テーブルで総売上を見つけるには、以下を使用します。

     <code class="sql">SELECT SUM(sales_amount) FROM sales;</code>
  • AVG :この関数は、数値列の平均を計算します。販売されているアイテムの平均価格など、データの平均値を見つけるのに最適です。

     <code class="sql">SELECT AVG(price) FROM products;</code>
  • カウント:この関数は、指定された基準に一致する行数をカウントします。一般に、テーブル内のレコードの数または列の非ヌル値の数を取得するために使用されます。

     <code class="sql">SELECT COUNT(*) FROM customers; -- Counts all rows in the customers table SELECT COUNT(email) FROM customers; -- Counts non-null email entries</code>
  • MIN :この関数は、指定された列の最小値を返します。製品リストの最低価格など、最小値を見つけるのに役立ちます。

     <code class="sql">SELECT MIN(price) FROM products;</code>
  • MAX :この関数は、指定された列で最大の値を返します。従業員のテーブルの最大給与など、最高の価値を見つけるために使用できます。

     <code class="sql">SELECT MAX(salary) FROM employees;</code>

単一のSQLクエリで複数の集計関数を組み合わせることはできますか?

はい、単一のSQLクエリで複数の集計関数を組み合わせることができます。これは、同じデータセットから複数の統計を取得する必要がある場合に便利です。 1つのクエリでSUMAVG 、およびCOUNT使用する方法を示す例を次に示します。

 <code class="sql">SELECT SUM(sales_amount) AS total_sales, AVG(sales_amount) AS average_sale, COUNT(*) AS number_of_sales FROM sales;</code>

この例では、クエリは販売表に関する3つの異なる統計を返します。販売総額、平均販売額、販売取引のカウントです。この方法で集計関数を組み合わせることにより、複数の要約情報を一度に効率的に抽出できます。

集計関数を使用して、それなしでグループを使用することとの違いは何ですか?

Aggregate関数を使用してGROUP BYを使用すると、データセット全体ではなく、データ内の行のグループに関数を適用できます。これは、特定の基準によってグループ化された要約レポートまたは統計を生成するために重要です。違いは次のとおりです。

  • グループなしGROUP BYなしで集計関数を使用する場合、関数は結果セット全体に適用されます。例えば:

     <code class="sql">SELECT AVG(salary) FROM employees;</code>

    このクエリは、テーブル内のすべての従業員の平均給与を計算します。

  • Group byGROUP BYを使用すると、 GROUP BYによって定義されたグループごとに集約関数が個別に計算されます。例えば:

     <code class="sql">SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department;</code>

    このクエリはemployeesテーブルの各部門の平均給与を計算します。 GROUP BYグループは、 AVG関数を適用する前に部門ごとに行をグループ化し、部門固有の統計を確認できるようにします。

SQLで集計関数を使用する場合、null値を処理するにはどうすればよいですか?

NULL値は、 NULL値が計算の結果に影響を与える可能性があるため、null値の処理はSQLの集計関数を操作することの重要な側面です。異なる集計関数を持つNULL値を管理するための戦略は次のとおりです。

  • 合計平均:これらの関数は、 NULL値を自動的に無視します。合計または平均を計算する場合、SQLは行が存在しないかのようにNULLを扱うため、それらを処理するために特別なアクションをとる必要はありません。
  • countCOUNT(*)またはCOUNT(column_name)を使用して、 NULL値を含めるか除外することを選択できます。 COUNT(*)NULL値のある行を含むすべての行をカウントしますが、 COUNT(column_name)指定された列の非NULL値のみをカウントします。
  • min and Max :これらの関数もNULL値を無視します。指定された列の非NULL値の最小値または最大値を返します。

計算にNULL値を含める場合は、 COALESCEまたはIFNULL関数を使用して、 NULLデフォルト値に置き換えることができます。たとえば、列内のNULL値を含むすべての行をカウントしますが、 NULL SUMでゼロとして扱うには、以下を使用できます。

 <code class="sql">SELECT COUNT(*) AS total_rows, SUM(COALESCE(sales_amount, 0)) AS total_sales FROM sales;</code>

このクエリでは、 COALESCE SUMが計算される前にNULL sales_amount 0に置き換え、 NULL値が合計にゼロとして寄与するようにします。

以上がSQLで集計関数(合計、AVG、カウント、MIN、MAX)を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。