集計関数 (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウスMicrosoft Fabric の SQL データベース

Microsoft SQL Database エンジンの集計関数は、一連の値に対して計算を実行し、1 つの値を返します。

  • COUNT(*)を除き、集計関数はNULL値を無視します。
  • 集計関数はしばしばSELECT文の GROUP BY 節と共に用いられます。
  • 特に注記がない限り、集計関数は決定論的である。 つまり集計関数は、特定の入力値のセットと共に呼び出された場合、そのたびに同じ値を返します。 例えば、 APPROX_MEDIAN と APPROX_QUANTILE は決定論的ではありません。 関数決定性の詳細については、 決定論的関数と非決定的 関数を参照してください。
  • オーバー節は、STRING_AGG、GROUPING、GROUPING_ID関数を除くすべての集約関数に続くことができます。
  • 集約関数は、 SELECT 文のselectリスト(サブクエリまたは外部クエリのいずれか)や HAVING 節でのみ式として使用してください。

Microsoft SQL データベース エンジンは、一部のまたはすべてのプラットフォームで以下の集約関数を提供します。 該当するプラットフォームについては各構文記事を参照してください。

  • ANY_VALUE - グループ内の行から任意の値を選び、それを返します。
  • APPROX_COUNT_DISTINCT - メモリ効率の良いアルゴリズムを用いて、異なる非ヌル値の近似カウントを返します。
  • APPROX_MEDIAN - 値の集合に対しておおよその中央値を返します。
  • APPROX_PERCENTILE_CONT - 連続補間を用いておおよそのパーセンタイル値を返します。
  • APPROX_PERCENTILE_DISC - 実際のデータ値から選ばれたおおよそのパーセンタイル値を返します。
  • APPROX_QUANTILE - 指定された分位数のおおよその分位値を返します。
  • AVG - グループ内の値の平均を計算します。
  • CHECKSUM_AGG - グループ内の値に対して計算されたチェックサム値を返します。
  • COUNT - グループ内の行数またはnullでない値の数を返します。
  • COUNT_BIG - グループ内の行数またはnullでない値の数を bigint 型として返します。
  • グルーピング - 結果行の列値がグループ化操作によって集約されたかどうかを示します。
  • GROUPING_ID - どの列がグルーピングセットに集約されたかを識別するビットマスクを返します。
  • PRODUCT - 群内のnullでない値の積を返します。
  • MAX - グループ内の最大値を返します。
  • 中央値 - グループ内の値の中央値を返します。
  • MIN - グループ内の最小値を返します。
  • PERCENTILE_CONT - カラム値の連続分布に基づいてパーセンタイルを計算します。
  • PERCENTILE_DISC - ソート済みの値に対して、行セット全体または行セット内の異なるパーティション内の特定のパーセンタイルを計算します。
  • QUANTILE - グループ内の指定された分位数に対応する値を返します。
  • STDEV - グループ内の値のサンプル標準偏差を返します。
  • STDEVP - グループ内の値の母体標準偏差を返します。
  • STRING_AGG - 複数の行の文字列値を1つの文字列に連結します。
  • SUM - グループ内の各値の合計を返します。
  • VAR - グループ内の値のサンプル分散を返します。
  • VARP - 群内の値の母集団分散を返します。