こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

MySQLで現在の順位を取得する方法

Oracleには、ROWNUMがあるので、
SELECT ROWNUM,id,salary FROM emp order by salary;
のように価格(salary)順で順位を振れるので、
そこからSQLだけで現在の順位を取得する事は
できるのですが、
MySQLでROWNUMに変わる機能や、
現在の順位を取得する方法はございますでしょうか?

投稿日時 - 2005-08-25 12:16:38

QNo.1603575

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

たぶん、#1の方の意見は、ちょっと的外れかと・・・
失礼。

SELECT COUNT(e1.salary),e0.id,MIN(e0.salary) AS salary
FROM emp AS e0, emp AS e1
WHERE e1.salary <= e0.salary
GROUP BY e0.id
ORDER BY salary;

こういうことでしょうか?

投稿日時 - 2005-08-29 13:52:37

お礼

はい。そんな感じです。
ただ同一salaryがある場合に、同一順位ではなく
順位 金額
1 300,000
2 200,000
3 200,000
としたいんです。
やはり、rowNUMの便利さが身にしみます。

投稿日時 - 2005-09-01 17:19:14

ANo.1

質問の内容が良く理解できないのですが、ID番号を振って価格(salary)の順位を表示したいのですか?

順位と言うのは大きい順番に振ることでよろしいですよね。
ならば (IDは自動付番とする)
select ID,salary From enp order by salary;
で salaryの昇順を取っていますよ。

質問内容に回答が入っていたみたいですね。

投稿日時 - 2005-08-25 15:12:07

あなたにオススメの質問