- 締切済み
MySQLで現在の順位を取得する方法
Oracleには、ROWNUMがあるので、 SELECT ROWNUM,id,salary FROM emp order by salary; のように価格(salary)順で順位を振れるので、 そこからSQLだけで現在の順位を取得する事は できるのですが、 MySQLでROWNUMに変わる機能や、 現在の順位を取得する方法はございますでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- masayuki0511
- ベストアンサー率46% (14/30)
回答No.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; こういうことでしょうか?
- tak2003
- ベストアンサー率32% (174/540)
回答No.1
質問の内容が良く理解できないのですが、ID番号を振って価格(salary)の順位を表示したいのですか? 順位と言うのは大きい順番に振ることでよろしいですよね。 ならば (IDは自動付番とする) select ID,salary From enp order by salary; で salaryの昇順を取っていますよ。 質問内容に回答が入っていたみたいですね。
お礼
はい。そんな感じです。 ただ同一salaryがある場合に、同一順位ではなく 順位 金額 1 300,000 2 200,000 3 200,000 としたいんです。 やはり、rowNUMの便利さが身にしみます。