我需要使用SQL获取下表中的最大id值,其中name为3包含在该列的数组中:
id name
1 [2,3]
2 [3,5,6]
3 [7,8]
这就是我正在尝试的(有很多组合):
SELECT `MAX(id)`
FROM `table`
WHERE `name`
IN ( 3 )
我应该得到结果2
,因为{1}包含在ID 1和2中。
答案 0 :(得分:1)
你应该使用LIKE而不是IN,因为IN就像比较整个字符串和完全匹配。 LIKE将字符串与字符串的一部分进行比较(每个%意味着任何东西都可以替换它)
createConnection
另外,我不确定mysql语法,但我认为它应该是
SELECT `MAX(id)`
FROM `table`
WHERE `name` LIKE '%3%'