我试图制作相关的搜索系统
所以..第一次显示具有完全匹配标题的帖子
SELECT * FROM `posts` WHERE `title` LIKE '%keyword match%' LIMIT 50
如果每个关键字可以显示10条记录,那么以及我想要的是什么
SELECT * FROM `posts` WHERE `title` LIKE '%keyword%' OR `title` LIKE '%match%' LIMIT 10
但每个关键字有10条记录
由于
答案 0 :(得分:2)
您可以使用UNION
:
SELECT * FROM `posts` WHERE `title` LIKE '%keyword%' LIMIT 10
UNION
SELECT * FROM `posts` WHERE `title` LIKE '%match%' LIMIT 10
答案 1 :(得分:1)
这是一项挑战,因为有些帖子可能符合这两个条件。实际上,除非您特别避免,否则您的前50个可能会作为其他关键字的匹配项返回。
这可能会做你想要的:
SELECT * FROM `posts` WHERE `title` LIKE '%keyword match%' LIMIT 0, 50
UNION ALL
SELECT * FROM `posts` WHERE title like '%keyword%' and title not like '%match%' limit 0, 10
UNION ALL
SELECT * FROM `posts` WHERE title not like '%keyword%' and title like '%match%' limit 0, 10
答案 2 :(得分:0)
SELECT * FROM `posts` WHERE `title` LIKE '%keyword match%' LIMIT 0,10
SELECT * FROM `posts` WHERE `title` LIKE '%keyword%' OR `title` LIKE '%match%' LIMIT 0,10