VAR (Transact-SQL)
指定された式のすべての値の統計的変位を返します。 後に OVER 句が続く場合があります。
適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)、Windows Azure SQL データベース (初回のリリースから現在のバージョンまで) |
構文
VAR ( [ ALL | DISTINCT ] expression )
OVER ( [ partition_by_clause ] order_by_clause )
引数
ALL
すべての値にこの関数を適用します。 ALL が既定値です。DISTINCT
重複する値は 1 つだけカウントします。expression
bit データ型を除く、真数データ型または概数データ型の式を指定します。 集計関数とサブクエリは使用できません。OVER ( [ partition_by_clause ] order_by_clause**)**
partition_by_clause は、FROM 句で生成された結果セットをパーティションに分割します。このパーティションに関数が適用されます。 指定しない場合、関数ではクエリ結果セットのすべての行を 1 つのグループとして扱います。 order_by_clause は、演算が実行される論理的順序を指定します。 order_by_clause は必須です。 詳細については、「OVER 句 (Transact-SQL)」を参照してください。
戻り値の型
float
説明
SELECT ステートメントのすべてのアイテムで VAR を使用する場合、結果セットの各値は計算に含められます。 VAR は、数値型列に対して使用できます。 NULL 値は無視されます。
VAR は、OVER 句や ORDER BY 句なしで使用される場合は決定的関数です。 OVER 句や ORDER BY 句と共に使用される場合は、非決定的関数です。 詳細については、「決定的関数と非決定的関数」を参照してください。
例
次の例では、AdventureWorks2012 データベースの SalesPerson テーブルにあるすべてのボーナス値の分散を返します。
SELECT VAR(Bonus)
FROM Sales.SalesPerson;
GO