理総研Webは、中学入試理科の暗記学習をA'n'Kingなどのデジタル教材でサポートする登録型eラーニングサイトです。
Name:
Pass:
理総研@中学受験専門:理科総合研究所
Front Page > Web Tech and Development Notes

理総研:技術情報と開発メモ

007:MySQLで数値の順位・ランクを求める

対象言語:PHP / MySQL
キーワード:PHP 5.0 MySQL RANK 順位 ランク 同点 同位
理総研はユーザー間の競争原理を取り入れ、成績を様々なベクトルで評価し、ランキング形式で発表しています。MySQLのカラムのデータ(数値)を単純に昇順・降順に並べるだけでは同点の場合(同位)に対応できませんし、いったんPHPに渡して処理させると規模によっては大きな処理時間を要することになってしまいます。そこで理総研では以下のコードを利用しています。
$userpoint = 87;	//点数

$sql =<<<EOF

	SELECT COUNT(*) + 1 as `userrank`
	FROM `seiseki`
	WHERE `point` > {$userpoint}
	ORDER BY `point` DESC

EOF;

$result = mysql_query($sql, $link) or die(mysql_error());
$rec = mysql_fetch_assoc($result);

$userrank = $rec['userrank'];
  • いったんseisekiテーブル内のpointカラムを降順でならべ(6〜8行目)、自分より大きい点数である人間の数をカウントして+1(5行目)。同点がいても同じ順位で発表されます。
著者 You Mizuguchi
  • PR
  • 理総研内ショートカット
  • 理総研セレクト
  • 投稿口コミ情報 (承認分)
> 豊島岡女子学園中学校
> 目黒日本大学中学校
> 夙川中学校
> さいたま市立 大宮国際中等教育学校
> 報徳学園中学校
> 広島県立 広島叡智学園中学校
> 武蔵野大学中学校
> 横浜富士見丘学園中学校
> 桐蔭学園中等教育学校
> 桐蔭学園中学校男子部
: 理科視点・中学校情報 :
  • ブログ投稿履歴
  • 現在のピクセルプラネット
Pixel Planet - piximage/rsk-1/2019-06-26.png
:: RSK-1の開拓史へ ::
  • 理総研について
中学入試理科の日々の暗記学習をA'n'King(アンキング)などのデジタル教材でサポートする、登録制無料コンテンツサイトです。
:: 詳しくはコチラ ::
理総研 :2011.02.03 設立
管理人 :水口 佑 / Cordu-Roy
お仕事 : フリープログラマー
:大手進学塾理科講師
:テレビドラゼミ講師