Closed3
同じカラムを持つ行に同じ番号を振るpostgreSQL

DENCE_RANK() OVER(ORDER BY colname)
を使うといい。

ウィンドウ関数は各行にそれぞれ計算結果を示す感じ。
OVER()が必須。over句で新しいテーブル(window)を作って、各行で計算するイメージ。
集約関数にover句をつけるとウィンドウ関数になる。

記事のタイトルはa,b,b,c
に1,2,2,3
をつける感じのこと。
グループ化するというより、重複したやつに同じ番号を振るイメージ。
つまりDENSE_RANK() OVER(ORDER BY colname)
すればいい。
ちなみにRANK()
だと1,2,2,4
ROW_NUMBER()
だと1,2,3,4
になると思う。
このスクラップは2025/02/13にクローズされました