Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 按具有相同优先级的两列排序_Mysql - Fatal编程技术网

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

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 在我的查

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

我在查询中使用了:

由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
在我的查询::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排序。