成績から順位を求めるときに使えますよ。
得点項目(項目名を仮にscoreとします)によるレコードの順位は
ユーザ変数(@をつける 名を仮にscore_orderとします)をカウントアップすることで求める。
mysql_query() 関数は、ひとつの SQL クエリー(;をつかえない)しか書けないので
ユーザ変数を使うにも、工夫がいる。
こんな感じである。
(:= は、代入演算子)
SELECT
score,
IF(@score_order IS NULL, @score_order := 1, @score_order := @score_order + 1) AS score_order
FROM score_table
ORDER BY score DESC
No comments:
Post a Comment