语句如下:
select name from test where name like '%测试%'表数据如下:ID Name
1 测试1
2 测试
我想要的结果是 按搜索词的匹配度最高的记录排在最前面,即:
2 测试
1 测试1请问 Mysql 中 是否有相关的参数可以设置?如果是 union all 就算了,程序处理的也就算了
select name from test where name like '%测试%'表数据如下:ID Name
1 测试1
2 测试
我想要的结果是 按搜索词的匹配度最高的记录排在最前面,即:
2 测试
1 测试1请问 Mysql 中 是否有相关的参数可以设置?如果是 union all 就算了,程序处理的也就算了
解决方案 »
- mysql提示 The table 'tmpxmldata' is full
- mysql对日期函数的操作,实现周期性计划安排 急!急!急!急!急急!路过的前辈帮忙看看啊
- mysql_query使程序崩溃问题
- 如何修改表的语言
- 一个递归查询的问题请教
- 急,在线等待:Linux下Mysql锁定的问题
- 我在linux下C编写mysql程序,编译不通过,怎么办???
- mdb 2 mysql 该如何导入
- 如何将数组导入到mysql的不同记录的相同字段中 (一列)?
- 如何取得mysql中所有的数据库?
- innodb 表修复问题,select错误ERROR 1033 (HY000):Incorrect information in file: './blog/b
- linux中运行pg_restore后转入后台运行
order by length(replace(Name,'测试',''))
ORDER BY LENGTH(REPLACE(NAME,'测试',''))
很感谢,你的方法我也想到过,但是出于对效率的担心,暂时还未使用,到这里发帖是想看看有没有其他的思路
SELECT * FROM tty3 ORDER BY INSTR(CONCAT(',',`name`,','),',测试,') desc
对字符操作速度不会快
SELECT * FROM tty3
ORDER BY CONCAT(',',`name`,',') REGEXP ',测试,' desc
SELECT * FROM tty3
ORDER BY FIND_IN_SET('测试',`name`) desc
下面的数据你准备如何排序?
ID Name
1 测试1
2 测试
3 测试1234
4 12测试
5 测试12
6 14322r3测试134153
7 123测试123
同问,补充
测试 VS 测试测试 VS 测试测试测试
如: ID Name OrdreBy
1 测试1 1
2 测试 0