MySQL where 条件与 2 个值相交(逗号分隔)

标签 mysql sql database select

我有这样的表:

    id  products  
------  ----------
     5  1,2,3     
     6  2,4,5     
     9  1,4,7     
    17  4,6,7     
    18  1,6,8     
    19  2,3,6     

我必须只选择那些行,该行的 products 列包含 (2,3) 值之一。

在这种情况下查询必须返回:

    id  products  
------  ----------
     5  1,2,3     
     6  2,4,5            
    19  2,3,6     

但我不明白如何构造这个查询。

有什么想法吗?

提前致谢。

最佳答案

SELECT id,products
FROM yourTable
WHERE FIND_IN_SET('2',products)>0
   OR FIND_IN_SET('3',products)>0

sqlFiddle

关于MySQL where 条件与 2 个值相交(逗号分隔),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20724433/

相关文章:

mySQL 分页使用限制检索重复行

mysql - 如何托管reactJs(前端)NodeJs(后端)和Mysql数据库

php - 使用 PDO 删除用户

sql - 如何使用 SQL CONCAT/SUBSTR?

java - SQL异常: Unexpected token for UcanaccessConnection.准备语句

mysql - 如何绘制 mysql 多边形圆,而不是正方形?

mysql - 添加一个以当前时间为默认值的新列

java - 不在 onCreate 方法中添加 SQLite 条目

objective-c - 在 Xcode 中访问数据库时,SQLite 不会准备查询

php - 表不会自动在 mysql 中使用 TIMESTAMP 创建