gpt4 book ai didi

mysql - 应该按最后一列然后第一列排序的 SQL 语句

转载 作者:行者123 更新时间:2023-11-29 04:47:01 24 4
gpt4 key购买 nike

我想根据 First 和 Last 这两个字段按字母顺序对我的条目进行排序。

两个字段的域都是CHAR(30)。这两个字段都不是任何类型的键。

例如,我使用下表。

Last        First
Banner Bruce
Wayne Bruce
Wayne Benjamin
Kent Clark
Rodgers Steve
Jordan Hal
Stark Tony
Howlett Logan

然后我根据 here 使用以下 SQL 语句(查看最后一个示例)是一个有效的 SQL 语句,它应该按姓氏排序,然后是名字的子排序。

SELECT * FROM Heros ORDER BY Last ASC, First ASC;

我要查找的结果是:

Last        First
Banner Bruce
Howlett Logan
Jordan Hal
Kent Clark
Rodgers Steve
Stark Tony
Wayne Benjamin
Wayne Bruce

相反,我得到:

Last        First
Banner Bruce
Howlett Logan
Jordan Hal
Kent Clark
Rodgers Steve
Stark Tony
Wayne Bruce
Wayne Benjamin

基本上最后两行在按姓氏排序后不按名字排序。我不确定为什么返回的行没有按我预期的那样排序。除了 SQlCommands.net,我还查看了 dev.mysql.com。多个 Stack Overflow 主题建议了 SQL 语句与此语法几乎相同的答案。任何关于我所缺少的东西的想法将不胜感激。

最佳答案

如果名字或姓氏周围有空格,请尝试 Trim() ORDER BY 子句中的函数如下:

SELECT * FROM Heros 
ORDER BY TRIM(Last) ASC
, TRIM(First) ASC;

参见this SQLFiddle

关于mysql - 应该按最后一列然后第一列排序的 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17539850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com