我在mysql中有一个表methodology
,其中一列包含多行中的1,2,3,4,5,6
或3,4,6
或25,4,7,8
等值。
现在在我的场景中,我有一个包含id 6
的公司,我希望将此值与方法表值匹配。但我不知道我该怎么做。
我首先尝试从方法论表中逐一获取所有值,并在公司的匹配值之后。
谁能帮助我?答案 0 :(得分:1)
您可以使用FIND_IN_SET(your_id, columnname)
功能。
查询将像
SELECT * FROM
methodology
where FIND_IN_SET(your_id, columnname)
有关功能的更多详情,请参阅:http://www.w3resource.com/mysql/string-functions/mysql-find_in_set-function.php
答案 1 :(得分:0)
使用mysql查询中的LIKE
。
一个例子:
SELECT row FROM my_table WHERE my_column LIKE %6%
答案 2 :(得分:0)
您需要使用find_in_set函数
http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_find-in-set
答案 3 :(得分:0)
要详细说明@ matthiasbe的不完整答案,如果你想使用LIKE
,你应该这样做:
SELECT * FROM methodology WHERE companies LIKE '%,6,%' OR companies LIKE '6,%' OR companies LIKE '%,6'
这将匹配companies
值为,6,
的所有行,或者以6,
开头或以,6
结尾。
这远不是一个完美的解决方案(在清晰的代码和执行时间方面),我只是列出选项,希望它有所帮助。