- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- PostgreSQL/SQL/相関サブクエリ/相関サブクエリを使ってランキングを求める へ行く。
- 1 (2010-08-12 (木) 09:08:53)
- 2 (2010-08-12 (木) 09:11:03)
相関サブクエリを使ってランキングを求める
前提
numの大きい者順にランキングを求める。
id | num ----+----- 1 | 100 2 | 200 3 | 150 4 | 50
SQL
相関サブクエリを使う。
SELECT y.id, y.num, (SELECT COUNT(*) FROM t1 x WHERE y.num < x.num) + 1AS rank FROM t1 y ORDER BY rank;
結果
id | num | rank ----+-----+------ 2 | 200 | 1 3 | 150 | 2 1 | 100 | 3 5 | 100 | 3 4 | 50 | 5