2010-10-23 32 views
-1

我已經表,包含名字和姓氏,爲了通過兩列相同的優先級

我在查詢中使用:

ORDER BY FNAME,LNAME ASC,

它顯示記錄的字母順序,並且它對Fname很好,

但它不會給LNAME帶來同樣的效果,

我現在的表中的記錄:

No Fname Lname 
1 Agh Asd 
2 Arh AAA 
3 Bcvc Vvcv 
4 Akasa Dvxvx 

我查詢後:: ORDER BY FNAME,LNAME ASC,

No Fname Lname 
1 Agh Asd 
4 Akasa Dvxvx 
2 Arh AAA 
3 Bcvc Vvcv 

但我想怎麼是

No Fname Lname 
1 Agh Asd 
2 Arh AAA 
4 Akasa Dvxvx 
3 Bcvc Vvcv 

是,如果我通過lname改變順序,fname asc,然後我得到預期的輸出,

但由於查詢的,

如何通過乘坐此,

我想在我的查詢相同的優先級,

giveing高優先級的第一個字段的順序任何好的建議

+1

所以,如果你知道如何得到你想要的東西,是什麼問題?您無法以「相等」優先級排序兩個字段。必須先做一件事。 – 2010-10-23 06:14:39

+0

您不希望在排序中享有同等的優先權,您只需要首先按'Lname'和'Fname'排序。 – joschi 2010-10-23 09:03:56

回答

2

什麼是等於優先?首先是什麼:'Aaa Zzz'或'Zzz Aaa'以及兩者之間的'Mmm Mmm'是什麼?

是否要ORDER BYfnamelname的第一個字母,然後由第二個等?

ORDER BY SUBSTRING(lname, 1, 1), SUBSTRING(fname, 1, 1), SUBSTRING(lname, 2, 1), SUBSTRING(fname, 2, 1)