gpt4 book ai didi

mysql - 查询 SQL 集

转载 作者:行者123 更新时间:2023-11-28 23:35:43 29 4
gpt4 key购买 nike

我有一个 SQL 字段定义为 set('nightlife', 'food', 'sports', 'culture', 'movies', 'general')

现在我想运行一个查询,其中我传递了例如 nightlife,food 并且我希望结果包含类别包含夜生活或食物的所有记录。因此,例如带有 nightlife,culture,sports 的记录也应该返回,因为它包含夜生活。我不确定如何运行它。我尝试按以下方式使用 IN 关键字:

'SELECT ... FROM table WHERE '$category' IN Categories然而,这是行不通的。

更新

按照答案中的建议运行以下查询:

SELECT *
FROM images
WHERE id = '2650225'
AND WHERE FIND_IN_SET('sports', Categories ) >0
OR FIND_IN_SET('nightlife', Categories ) >0
ORDER BY delete_at ASC
LIMIT 10
OFFSET 0

收到以下错误:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE find_in_set('sports', Categories) > 0 or find_in_set('nightlife', Categori' at line 1

最佳答案

您可以将 find_in_set 一起使用:

select *
from yourtable
where find_in_set('nightlife', categories) > 0 or
find_in_set('food', categories) > 0

根据您的编辑,您不能有多个 where 子句。您还需要在 标准周围使用括号:

SELECT *
FROM images
WHERE id = '2650225' AND
(FIND_IN_SET('sports', Categories ) > 0 OR
FIND_IN_SET('nightlife', Categories ) >0)
ORDER BY delete_at ASC
LIMIT 10
OFFSET 0

关于mysql - 查询 SQL 集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35818666/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com