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

MySQLで質問です。
ある会員でポイントの順位を付けているのですが
全会員の順位は付ける事が出来るのですが
特定の会員IDのみの順位を取得するには、どういったSQLを
発行すればいいでしょうか?

●質問者: makocan
●カテゴリ:インターネット ウェブ制作
✍キーワード:MySQL ポイント SQ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● HALSPECIAL
●27ポイント

類似質問ですが、

こちらはいかがでしょうか?

question:1192783057


2 ● komamitsu
●27ポイント

http://www.geocities.jp/mickindex/

mysql> SELECT * FROM test;
+------+-------+
| id | point |
+------+-------+
| 1 | 500 | 
| 2 | 1500 | 
| 3 | 100 | 
| 4 | 1000 | 
| 5 | 80 | 
+------+-------+
5 rows in set (0.01 sec)

こんなテーブルのばあい id = 3 の順位が欲しければ

mysql> SELECT COUNT(*) AS rank, t1.id
 -> FROM test t1, test t2
 -> WHERE t1.point <= t2.point
 -> GROUP BY t1.id
 -> HAVING t1.id = 3
 -> ORDER BY rank;
+------+------+
| rank | id |
+------+------+
| 4 | 3 | 
+------+------+
1 row in set (0.01 sec)

こんな感じ?


3 ● komamitsu
●26ポイント

http://www.geocities.jp/mickindex/

あ、こっちのほうがスマートか. 連投失礼.

mysql> SELECT ( 
 -> SELECT COUNT(t2.point)
 -> FROM test t2
 -> WHERE t2.point > t1.point
 -> ) + 1 AS rank, t1.id
 -> FROM test t1
 -> WHERE t1.id = 3;
+------+------+
| rank | id |
+------+------+
| 4 | 3 | 
+------+------+
1 row in set (0.01 sec)

関連質問


●質問をもっと探す●



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