2016-07-30 116 views

回答

0

您可以ORDER BY多列。與此類似,

SELECT * 
FROM members 
WHERE isHere = 0 
ORDER BY surname ASC, name ASC; 

您可以按多個列,並且可以不同的排序列在不同的方向 ,這意味着您可以排序由ASC作爲地方的名字DESC結果集。

你的情況並不是必需的,只是爲了提供信息。


默認排序將在不區分大小寫的方式。如果您希望列的區分大小寫,請爲列添加BINARY關鍵字。

這樣,

SELECT * 
FROM members 
WHERE isHere = 0 
ORDER BY BINARY surname ASC, name ASC; 

參考:http://dev.mysql.com/doc/refman/5.7/en/sorting-rows.html

+0

指定ASC或DESC的良好做法 –

+0

確實如此,已添加。謝謝 :) –

1

只要使用多個ORDER BY子句使用多個排序選項:

SELECT * 
FROM members 
WHERE isHere = 0 
ORDER BY surname ASC, 
name ASC 

這會按姓氏排序第一,如果兩個或多個用戶具有相同的姓氏,然後你可以按名稱排序。如果你想,你可以添加三分之一的排序按年齡進行排序。

SELECT * 
FROM members 
WHERE isHere = 0 
ORDER BY surname ASC, 
name ASC, 
age DESC 
0

如果你想要的名字,然後再如果你想先寫姓氏姓使用這樣

SELECT * FROM members WHERE isHere = 0 ORDER BY name asc,surname asc; 

,然後AME這樣使用

SELECT * FROM members WHERE isHere = 0 ORDER BY surname asc,name asc; 

更改ascdesc根據排序