举个栗子:
查用户表,分页 limit(0, 10),用户输入了一个字符串“张三”,我想要的是查用户表中username=“张三”的记录先查询出来,比如查出3条,还差的7条可以是username like “%张三%”的数据。所以最终我得到的10条数据的前三条的username一定的全等 “张三”的,后7条是模糊等于“张三”的,有没有这样的一条sql可以直接查出这样的结果?
举个栗子:
查用户表,分页 limit(0, 10),用户输入了一个字符串“张三”,我想要的是查用户表中username=“张三”的记录先查询出来,比如查出3条,还差的7条可以是username like “%张三%”的数据。所以最终我得到的10条数据的前三条的username一定的全等 “张三”的,后7条是模糊等于“张三”的,有没有这样的一条sql可以直接查出这样的结果?
4 回答1.3k 阅读✓ 已解决
8 回答1.2k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
1 回答974 阅读✓ 已解决
2 回答843 阅读✓ 已解决
2 回答1.7k 阅读
排一下序就行嘛,比如:
`ORDER BY username LIKE CONCAT('%','张三','%') DESC
LIMIT 0,10`
这里DESC代表相关性从大到小
强制让全等条件在前面可以再加一个排序条件:
`ORDER BY username = '张三' DESC, username LIKE CONCAT('%','张三','%') DESC
LIMIT 0,10`