Microsoft SQL Server
集計関数
サーチ…
前書き
SQL Serverの集計関数は、一連の値に対して計算を実行し、単一の値を返します。
構文
- AVG([ALL | DISTINCT] 式 )
- COUNT([ALL | DISTINCT] 式 )
- MAX([ALL | DISTINCT] 式 )
- MIN([ALL | DISTINCT] 式 )
- SUM([すべて| DISTINCT] 式 )
和()
指定された列の数値の合計を返します。
図に示すように、さまざまな集計関数を実行するための表があります。テーブル名はMarksheetです。
Select SUM(MarksObtained) From Marksheet
sum
関数は、パラメータとして使用されるフィールドでNULL値を持つ行を考慮しません
上記の例では、次のような行があるとします。
106 Italian NULL
この行は合計計算では考慮されません
AVG()
与えられた列の数値の平均値を返します。
図に示すように、さまざまな集計関数を実行するための表があります。テーブル名はMarksheetです。
Select AVG(MarksObtained) From Marksheet
average
関数は、パラメータとして使用されるフィールドでNULL値を持つ行を考慮しません
上記の例では、次のような行があるとします。
106 Italian NULL
この行は平均計算で考慮されません
MAX()
指定された列の最大値を返します。
図に示すように、さまざまな集計関数を実行するための表があります。テーブル名はMarksheetです。
Select MAX(MarksObtained) From Marksheet
MIN()
指定された列の最小値を返します。
図に示すように、さまざまな集計関数を実行するための表があります。テーブル名はMarksheetです。
Select MIN(MarksObtained) From Marksheet
カウント()
指定された列の値の合計数を返します。
図に示すように、さまざまな集計関数を実行するための表があります。テーブル名はMarksheetです。
Select COUNT(MarksObtained) From Marksheet
count
関数は、パラメータとして使用されるフィールドでNULL値を持つ行は考慮しません。通常、countパラメータは*(すべてのフィールド)なので、rowのすべてのフィールドがNULLの場合のみ、この行は考慮されません
上記の例では、次のような行があるとします。
106 Italian NULL
この行はカウント計算には考慮されません
注意
関数COUNT(*)
は、テーブル内の行数を返します。この値は、 COUNT(1)
などの列参照を含まない定数非NULL式を使用して取得することもできます。
例
Select COUNT(1) From Marksheet
GROUP BY Column_Nameを使用したCOUNT(Column_Name)
たいていの場合、テーブル内の列の値の合計発生数を取得することができます。たとえば、次のようになります。
テーブル名:REPORTS
ReportName | ReportPrice |
---|---|
テスト | 10.00 $ |
テスト | 10.00 $ |
テスト | 10.00 $ |
テスト2 | 11.00 $ |
テスト | 10.00 $ |
テスト3 | 14.00 $ |
テスト3 | 14.00 $ |
テスト4 | 100.00 $ |
SELECT
ReportName AS REPORT NAME,
COUNT(ReportName) AS COUNT
FROM
REPORTS
GROUP BY
ReportName
レポートの名前 | カウント |
---|---|
テスト | 4 |
テスト2 | 1 |
テスト3 | 2 |
テスト4 | 1 |