我正在使用mySQL.我必须通过姓氏订购联系人的姓名,但如果没有姓氏,我按名字排序.
这看起来像:
ORDER BY lastname = "", lastname, firstname
Run Code Online (Sandbox Code Playgroud)
但是,这会使具有姓氏的那些显示在顶部.我喜欢的行为是混合第一个和最后一个名字,就像它们来自同一个字段一样.
示例(假装这些是名称):
A,T
Z,G
A
B
C
Run Code Online (Sandbox Code Playgroud)
与:
A
A,T
B
C
Z,G
Run Code Online (Sandbox Code Playgroud)
谢谢
Cad*_*oux 18
ORDER BY COALESCE(NULLIF(LastName, ''), FirstName), FirstName
Run Code Online (Sandbox Code Playgroud)
尝试使用Coalesce
注意:这将要求您不要使用空字符串(即"")存储空的姓氏
ORDER BY Coalesce(LastName, FirstName)
Run Code Online (Sandbox Code Playgroud)
在评论中建议通过再次将FirstName添加到订单依据列表,您将正确地订购具有相同lastName的两个人.这是一个例子.
ORDER BY Coalesce(LastName, FirstName), FirstName
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5792 次 |
| 最近记录: |