MSDNによると、Median は Transact-SQL の集計関数として使用できません。ただし、この機能を作成できるかどうかを確認したいと思います ( Create Aggregate関数、ユーザー定義関数、またはその他の方法を使用)。
これを行うための最良の方法 (可能であれば) は何でしょうか - 集計クエリで中央値 (数値データ型を想定) を計算できるようにすることですか?
ベストアンサー1
SQL 2005 以降を使用している場合、これはテーブル内の単一列のシンプルでわかりやすい中央値の計算です。
SELECT
(
(SELECT MAX(Score) FROM
(SELECT TOP 50 PERCENT Score FROM Posts ORDER BY Score) AS BottomHalf)
+
(SELECT MIN(Score) FROM
(SELECT TOP 50 PERCENT Score FROM Posts ORDER BY Score DESC) AS TopHalf)
) / 2 AS Median