Mysql 按具有相同优先级的两列排序
我有一个表,包含名字和姓氏 我在查询中使用了: 由FNAME、LNAME ASC订购Mysql 按具有相同优先级的两列排序,mysql,Mysql,我有一个表,包含名字和姓氏 我在查询中使用了: 由FNAME、LNAME ASC订购 No Fname Lname 1 Agh Asd 4 Akasa Dvxvx 2 Arh AAA 3 Bcvc Vvcv 它按字母顺序显示记录,对Fname来说效果很好 但它并没有赋予LNAME同样的优先权 我现在的表格记录: No Fname Lname 1 Agh Asd 2 Arh AAA 3 Bcvc Vvcv 4 Akasa Dvxvx 在我的查
No Fname Lname
1 Agh Asd
4 Akasa Dvxvx
2 Arh AAA
3 Bcvc Vvcv
它按字母顺序显示记录,对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更改顺序,那么我得到了预期的输出
但由于查询将高优先级赋予order by中的第一个字段
如何克服这一点
我希望在我的查询中有同等的优先级
有什么好的建议吗?什么是同等优先?首先是什么:“Aaa-Zzz”或“Zzz-Aaa”,两者之间的“Mmm-Mmm”在哪里
您想按fname和lname的第一个字母排序,然后按第二个字母排序,以此类推吗
ORDER BY SUBSTRING(lname, 1, 1), SUBSTRING(fname, 1, 1), SUBSTRING(lname, 2, 1), SUBSTRING(fname, 2, 1)
那么,如果你知道如何得到你想要的,问题是什么?不能对两个优先级相同的字段进行排序。首先要做一件事,你不希望排序的优先级相等,你只想先按Lname排序,然后按Fname排序。