我想知道如何制定一个 SQLite ORDER 作为它的第一个标准,它将根据搜索字符串是否匹配列的前缀或中缀来分隔匹配项。第二个排序将是简单的 ASC。
例如,搜索“st”并简单地按该列排序将产生:
- 天体物理学家
- 贝克街
- 尤达大师
- 堆栈溢出
- 星际迷航
- 剑龙
- 系统冲击
- 韦斯特伍德
我想这样订购:
- 堆栈溢出
- 星际迷航
- 剑龙
- 天体物理学家
- 贝克街
- 尤达大师
- 系统冲击
- 韦斯特伍德
所以前缀匹配首先出现,然后是其余的。二级排序只是 ASC。
感谢您的任何意见。
我想知道如何制定一个 SQLite ORDER 作为它的第一个标准,它将根据搜索字符串是否匹配列的前缀或中缀来分隔匹配项。第二个排序将是简单的 ASC。
例如,搜索“st”并简单地按该列排序将产生:
我想这样订购:
所以前缀匹配首先出现,然后是其余的。二级排序只是 ASC。
感谢您的任何意见。
假设您有一个名为Products的表,让我们简单地说它只有一个名为Productname的字段。您想搜索以Co开头或中间有Co的产品名称。
因此,查询将是这样的:
SELECT Productname FROM Products
WHERE Productname LIKE 'Co%'
UNION ALL
SELECT Productname FROM (
SELECT Productname FROM Products
WHERE Productname LIKE '%Co%'
ORDER BY Productname) B
所以,如果你有以下记录
Coco Crunch
Lucky Cow
Coffee
Sweet Corn
Cookies
Corn Puff
现在会变成这样
Coco Crunch
Coffee
Cookies
Corn Puff
Lucky Cow
Sweet Corn
使用您自己的字段和表格进行尝试。