我想根据 First 和 Last 两个字段按字母顺序对条目进行排序。
这两个字段的域都是CHAR(30)
. 这两个字段都不是任何类型的键。
例如,我使用下表。
Last First
Banner Bruce
Wayne Bruce
Wayne Benjamin
Kent Clark
Rodgers Steve
Jordan Hal
Stark Tony
Howlett Logan
然后我使用下面的 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 语句几乎与此语法相同的答案。对我所缺少的任何想法将不胜感激。