DAr*_*rkO 7 sql sqlite android sql-order-by
我有一个表,其中包含列中的两种类型的文本.第一种是电子邮件地址字符串(ex 222@dsad.com),第二种是人名(John Doe)
我正在使用此查询来对数据进行排序,以便首先显示没有@char的行,然后显示具有它的行:
SELECT *
FROM Name
ORDER BY CASE
WHEN displayName LIKE '%@%' THEN 1
ELSE 2
END
Run Code Online (Sandbox Code Playgroud)
所以我无法做的是让案例按升序排序,以便我按照按字母升序排序的电子邮件后面的字母升序排序.
OMG*_*ies 15
使用:
SELECT n.*
FROM NAME n
ORDER BY CASE
WHEN displayName LIKE '%@%' THEN 1
ELSE 2
END, n.displayname COLLATE NOCASE
Run Code Online (Sandbox Code Playgroud)
该ORDER BY子句支持多个列,但优先级从左到右读取.因此,displayname其中带有"@" 的值位于顶部,然后按displayname每个分组中的值排序(基于CASE语句).
您需要查看使用COLLATE运算符进行不区分大小写的比较.
| 归档时间: |
|
| 查看次数: |
8875 次 |
| 最近记录: |