2016-04-22 14 views
0

複数の列のROW_NUMBER:MySQLの私がどのように見えるテーブル持って

+-------------+--------+------------+ 
| Employee ID | Salary | Grievances | 
+-------------+--------+------------+ 
| 101   | 70,000 | 12   | 
| 102   | 90,000 | 100  | 
| ...   | ... | ...  | 
+-------------+--------+------------+ 

をそして私は給料のためにトップ10にあるすべての従業員を検索したいのですが、ボトム5用苦情。私は(私は)ROW_NUMBERを使用してSQL Serverでこれを行う方法を知っていると思うが、MySQLでそれを行う方法は?私はgoto questionを見てきましたが、実際には複数の列の順序には当てはまりません。

+0

あなたは「給料のためにトップ10が、ボトム5不満のために。」をより詳しく説明することはできますサンプルデータと出力が必要な場合 – geeksal

+0

サンプルデータと必要な結果、またはSQL Serverクエリを提供したい場合があります。 –

+0

私はそれがかなり自明であると思った。給与が10の最高給与に含まれ、苦情の件数が5つの最も低い苦情数のうちの1つであるすべての従業員を取得します。 –

答えて

1

私が正しく理解していれば、あなたは自己結合してこれを行うことができます。

select s.* 
from (select t.* 
     from t 
     order by salary desc 
     limit 10 
    ) s join 
    (select t.* 
     from t 
     order by grievances asc 
     limit 5 
    ) g 
    on s.employeeid = g.employeeid; 
+0

パーフェクト、ありがとう! –

関連する問題