2010-10-23 39 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)