ブログTOP > SQL > 特定のカラムに連番をつけるSQL文

2010年07月09日

特定のカラムに連番をつけるSQL文

(この記事を書くときに使っていたRDBMSは、MySQL 5.1.41 です)


■ 連番をつけて抽出したいだけの場合
SET @i := 10000;
SELECT (@i := @i +1) as counter, rank FROM BTS_Entry WHERE priority=3;
この例では、「counter」という新しいカラムに10000からはじまる連番をつけながら、「BTS_Entry」テーブルの「priority」が3のレコードだけを抽出します。
(もちろん更新は行われません)



■ 特定のカラムを連番で埋めて更新
SET @i := 10000;
UPDATE BTS_Entry SET rank=(@i := @i +1) WHERE priority=3;
この例では、「BTS_Entry」テーブルの「priority」が3のレコードの「rank」カラムに10000から始まる連番をつけてテーブルを更新します。


以上!(・ω・)

このエントリーをはてなブックマークに追加
posted by taichistereo at 05:40 | Comment(0) | SQL
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。
カテゴリクラウド
トップページへ戻る
Blog Widget by LinkWithin