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

PhP4.2 mysql4 に関して

mysqlについて質問です。
昇降順に関する質問です。

登録してあるmysql情報を下記とします。
カラムが名前、点数1、点数2とします。

並び替えをして、順位を現したいです。

(test)テーブル
????????????????
(名前)(点数1)
a 5
b 2
c 4
d 3
e 1
????????????????
これを(点数1)で降順にします。
e b d c a
"SELECT * FROM test WHERE cate='点数1' ORDER BY in01 DESC"

このような順番にします。
これを例えば、aなら「1」dなら「3」という風に
並べ替えた後の順番の数字を出すにはどうすればいいですか?




●質問者: rrr3
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:MySQL SELECT test カラム 並べ替え
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● chuken_kenkou
●60ポイント

提示されたSQLは、下記ですが、、、

SELECT * 
 FROM test 
 WHERE cate='点数1' 
 ORDER BY in01 DESC"

説明にない「cate」や「in01」という列名が使われていますけど?

MySQL4といっても、4.0と4.1は、大きく違います。

4.1からunicodeが実装されたり、サブクエリが実装されたりしています。

MySQL 4.1なら、自己結合&サブクエリを使うといった方法があるのですが、4.0なら以下の方法が簡単で分かりやすいと思います。

ユーザ変数を使って、行の取り出し時に+1させる方法です。

set @rownum=0;
SELECT 名前,点数1,@rownum:=@rownum+1 as rounum 
 FROM test
 -- WHERE cate='点数1'
 -- ORDER BY in01 DESC
 ORDER BY 点数1 DESC
;

http://q.hatena.ne.jp/ダミー

関連質問


●質問をもっと探す●



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