RADEONのドライバを入れると一緒についてくるユーティリティが勝手に右クリックに追加するRADEON設定を削除します。 RADEON設定を削除する 右クリックするとRADEON設定が勝手に追加されて…
ウインドウ関数(分析関数)のRANKでPARTITIONを使って順位を取得する際に、順位全体の母数を取得する方法です。
順位全体の母数を取得したい
例として、年齢ごとの得点の順位をRANK関数を使って求めます。
各個人の順位は1位、2位と求めることが出来ますが、母数を知りたい場合があります。
10人中1位(1/10)など
PARTITIONを指定しなければクエリ結果の全件数が母数となります。
PARTITIONを使って年齢ごと
の母数を取得する場合は、ウインドウ関数のCOUNT
に同じPARTITIONの条件を指定することで各年齢ごとの母数を取得できます。
SELECT a.id , a.age , a.point , RANK() OVER (PARTITION BY a.age ORDER BY a.point DESC) as rank , COUNT(*) OVER (PARTITION BY a.age) as total FROM ( SELECT 1 AS id, 10 AS age, 10 AS point UNION ALL SELECT 2 AS id, 20 AS age, 20 AS point UNION ALL SELECT 3 AS id, 10 AS age, 30 AS point ) AS a
コメントを書く