SQL文で順位を求めるには
順位を求めるSQL文は次のように書きます。
SELECT p.id,p.name,p.point,(SELECT count(*) FROM point_table as p1 WHERE p1.point > p.point) + 1 as rank FROM point_table as p;
元データ point_table
| id | name | point |
|---|---|---|
| 1 | ああ田 ああ郎 | 50 |
| 2 | いい中 いい子 | 80 |
| 3 | うう山 うう夫 | 70 |
| 4 | ええ村 ええ美 | 90 |
| 5 | おお野 おお司 | 80 |
実行結果
| id | name | point | rank |
|---|---|---|---|
| 1 | ああ田 ああ郎 | 50 | 5 |
| 2 | いい中 いい子 | 80 | 2 |
| 3 | うう山 うう夫 | 70 | 4 |
| 4 | ええ村 ええ美 | 90 | 1 |
| 5 | おお野 おお司 | 80 | 2 |
スポンサーリンク
関連記事
- 複数のデータベースを切り替える方法
- SQLの概要、区分け
- SQL文で最新日付のみ抽出するには(最大値の抽出)
- SQLの昇順、降順を表すASCやDESCの言葉の由来
- Zend_DBのSELECTメソッドのまとめ
- Zend_DBの基本
スポンサーリンク






