2016-07-25 19 views
0
Name 1-3 4-6 7-9 
------------------------ 
Dan  0  3  4 
Jane  1  6  0 
Mike  3  3  3 
Dan  2  2  0 
Jane  3  4  2 
Dan  1  3  0 

ここでは、必要な順序です。要するにMySQL - 注文列の値によって、他の列に沿ったグループ

Name 1-3 4-6 7-9 
------------------------ 
Dan  0  3  4 
Dan  1  3  0 
Dan  2  2  0 
Mike  3  3  3 
Jane  3  4  2 
Jane  2  2  0 

、フィールド7-9で最高数のスタート順は、名前によってそのグループは、各グループ名に再び順いる(この元である。Dan & Janeある)フィールド4-6に従ってと1-3

答えて

1

は、この文字列で検索してください:

SELECT Name, `1-3`, `4-6`, `7-9` 
FROM yourTable 
ORDER BY `7-9` DESC, Name, `4-6` DESC, `1-3` DESC 
+0

私はそれが '7-9'最初の順でなければなりません ..例は偶然だと思います –

0

私はあなたの望ましい結果のタイプミス、及びこれを試してみてくださいがあると思います。

select t1.* 
from yourtable t1 
join (
    select Name, max(`7-9`) orderby 
    from yourtable 
    group by Name 
    order by max(`7-9`) 
) t2 on t1.Name = t2.Name 
order by orderby desc, `4-6` desc, `1-3` 

Demo Here

関連する問題