- 追加された行はこの色です。
- 削除された行はこの色です。
- PostgreSQL/SQL/相関サブクエリ/相関サブクエリを使ってランキングを求める へ行く。
- PostgreSQL/SQL/相関サブクエリ/相関サブクエリを使ってランキングを求める の差分を削除
* 相関サブクエリを使ってランキングを求める [#e7a5749d] ** 前提 [#va69cef6] numの大きい者順にランキングを求める。 id | num ----+----- 1 | 100 2 | 200 3 | 150 4 | 50 5 | 100 ** SQL [#qe183850] 相関サブクエリを使う。 SELECT y.id, y.num, (SELECT COUNT(*) FROM t1 x WHERE y.num < x.num) + 1AS rank FROM t1 y ORDER BY rank; SELECT y.id, y.num, (SELECT COUNT(*) FROM t1 x WHERE y.num < x.num) + 1 AS rank FROM t1 y ORDER BY rank; ** 結果 [#t014d277] id | num | rank ----+-----+------ 2 | 200 | 1 3 | 150 | 2 1 | 100 | 3 5 | 100 | 3 4 | 50 | 5