質問: SQL初学者です。 データの取得の際、IDが重複しているデータの先頭行にアスタリスクを付ける列を追加したいのですが、方法が全く思いつきません。 イメージとしては以下のような取得をしたいと考えています。 * 0001 0001 0001 * 0002 * 0003 0003 可能であればご教示頂けますと幸いです。
回答: リレーショナルデータベースは格納順番は何も保証されていません。したがって先頭行は何かの列の昇順または降順でのみ判定出来るので、格納順番での対応は出来ません。何かの先頭行の判定はrow_number()が1で判定できます。 「row_number() OVER(PARTITION BY 列名,... ORDER BY 列名,...) AS NO」です。PARTITIONの同じ行を1からORDER順に番号が振られます。