MySQL 全文搜索,其中类别=某事

发布于 2024-10-10 06:35:39 字数 516 浏览 0 评论 0原文

这让我发疯,我到处搜索,似乎找不到例子。我正在进行全文 MySQL 搜索,如下所示:


SELECT *
FROM `posts`
WHERE MATCH (
`title` , `description` , `location`
)
AGAINST (
'SEARCH TERM'
IN BOOLEAN
MODE
)
ORDER BY `id` DESC
LIMIT 0 , 100

效果很好,但我的表“类别”中有另一列,并且只想返回该类别的结果,例如:

SELECT * FROM `posts` WHERE MATCH ( `title` , `description` , `location` ) AGAINST ( 'fayetteville' IN BOOLEAN MODE ) WHERE `category` = 'SEARCH CATEGORY' ORDER BY `id` DESC LIMIT 0 , 100

当然,第二位代码不起作用,但是如何我可以在 MySQL 中执行此操作吗?

谢谢

This is driving me crazy, I have searched everywhere and can not seem to find an example. I am doing a fulltext MySQL search like so:


SELECT *
FROM `posts`
WHERE MATCH (
`title` , `description` , `location`
)
AGAINST (
'SEARCH TERM'
IN BOOLEAN
MODE
)
ORDER BY `id` DESC
LIMIT 0 , 100

that works fine but I have another column in my table "category" and would like to return results only from that category something like:

SELECT *
FROM `posts`
WHERE MATCH (
`title` , `description` , `location`
)
AGAINST (
'fayetteville'
IN BOOLEAN
MODE
)
WHERE `category` = 'SEARCH CATEGORY'
ORDER BY `id` DESC
LIMIT 0 , 100

of course that second bit of code does not work, but how can I do this in MySQL?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迎风吟唱 2024-10-17 06:35:39

您只能有一个 WHERE 子句。将第二个 WHERE 更改为 AND。

SELECT *
FROM `posts`
WHERE MATCH ( `title` , `description` , `location` )
      AGAINST ( 'fayetteville' IN BOOLEAN MODE )
AND `category` = 'SEARCH CATEGORY'
ORDER BY `id`
DESC LIMIT 0 , 100 

You can only have one WHERE clause. Change your second WHERE to AND.

SELECT *
FROM `posts`
WHERE MATCH ( `title` , `description` , `location` )
      AGAINST ( 'fayetteville' IN BOOLEAN MODE )
AND `category` = 'SEARCH CATEGORY'
ORDER BY `id`
DESC LIMIT 0 , 100 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文