• 締切済み

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

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

みんなの回答

回答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; こういうことでしょうか?

php4
質問者

お礼

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

  • tak2003
  • ベストアンサー率32% (174/540)
回答No.1

質問の内容が良く理解できないのですが、ID番号を振って価格(salary)の順位を表示したいのですか? 順位と言うのは大きい順番に振ることでよろしいですよね。 ならば (IDは自動付番とする) select ID,salary From enp order by salary; で salaryの昇順を取っていますよ。 質問内容に回答が入っていたみたいですね。

関連するQ&A