忍者ブログ
~お前もこの 気持ちよさにやられちまいな~
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

MySQLのSELECT文のみでランキング表示(同着あり)を表示する
意外と無いようなので。
IDと名前とポイントがある下記のようなテーブルがあるとして、

CREATE TABLE ranking (
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  name Varchar(20) NOT NULL,
  point INTEGER UNSIGNED NOT NULL DEFAULT 0,
  PRIMARY KEY(id)
)
 

テーブル結合をして比較します。

SELECT a.* , COUNT(b.id)+1 AS rank
FROM ranking a
LEFT JOIN (
    SELECT * FROM ranking
) b
ON a.point < b.point
GROUP BY a.id
ORDER BY rank ASC

これでテーブルの情報+順位が表示される



はず・・・。
皆さんどうやってテストなさるんでしょうか?
わざわざ鯖に本当にテーブル作ってテストするのかな?
PR
コメントを投稿する

HN
タイトル
メールアドレス
URL
コメント
パスワード
カレンダー

09 2017/10 11
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
ブログ内検索

プロフィール

中の人:
お仕事:
見習いプログラマー
趣味:
ネット、アニメ、音楽、チャリ
一言:
エロゲからクラブミュージックまで。
おじさんの趣味は108式まであるゆぉ~(・3・)