首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按首字母排序sql查询

按首字母排序sql查询
EN

Stack Overflow用户
提问于 2011-02-08 16:27:25
回答 1查看 2.1K关注 0票数 7

我试图根据第一个字母订购mysql查询,但我使用的每一种方法都限制了我的搜索。

示例 MySQL表值计算机服务abc计算机服务动态计算机服务

如果我搜索computer services,我希望返回的结果如下:

代码语言:javascript
复制
**Name**
computer services
abc computer services
dynamic computer services

我使用的是mysql全文搜索文本,但如果我使用name LIKE 'c%',则不会使用其他两个结果。

代码语言:javascript
复制
SELECT name FROM table WHERE match('name') against('computer services*' IN BOOLEAN MODE) AND name LIKE 'c%';

这只会回来

  • 计算机服务

但我想要它回来:

services

  • dynamic
  • 计算机服务
  • 计算机服务

我是新的mysql全文搜索。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-08 16:39:12

首先使用与“开始”case匹配的order子句。我在这里使用not like,因为布尔值返回0或1,我们希望将其反转,以便首先与大小写匹配。

代码语言:javascript
复制
SELECT name 
FROM table 
WHERE match('name') against('computer services*' IN BOOLEAN MODE)
ORDER BY name NOT LIKE 'computer services%', name;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4935563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档