按两个具有相同优先级的列排序

时间:2010-10-23 06:08:40

标签: mysql

我有表,包含名字和姓氏,

我在查询中使用:

  

按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更改顺序,那么我得到预期的输出,

但是,由于查询按顺序给予第一个字段高优先级,

如何超越这个,

我希望在我的查询中具有相同的优先级,

任何好的建议

1 个答案:

答案 0 :(得分:2)

什么是相等优先级?首先是什么:'Aaa Zzz'或'Zzz Aaa'以及两者之间的'Mmm Mmm'?

您想要ORDER BYfname的第一个字母lname,然后是第二个字母等吗?

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