人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Mysqlの5で、OracleのRow_Numberみたいな
挙動をしたい場合は、どうしたらいいのでしょうか?

SELECTした内容に順序を付与したいです。


●質問者: hopefully
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:MySQL Oracle SELECT
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● chuken_kenkou
●35ポイント

MySQLには、通番を付ける機能がないため、自前で付ける必要があります。

通番を付けるには、ユニークになるキーを持っている必要があります。

1.方法1

ユーザ変数を利用する。

set @rownum=0;
select
 @rownum:=@rownum+1 as rownum,
 c1,c2
 from tbl1
 order by c1

2.方法2

自己結合し、キー値未満の件数を求め、その件数を通番に利用する。

select
 (select count(*)+1
 from tbl1
 where c1<x.c1) as rownum,
 c1,c2
 from tbl1 as x
</pre>
◎質問者からの返答

ありがとうございます

試してみますw


2 ● kunyami
●35ポイント

こんにちは

set @row_num = 0;

select (@row_num:=@row_num+1) as row_number, col1

from tbl1;

などとすればできますよ。

◎質問者からの返答

ありがとうございます。

試しますw

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ