SQL:在列为数组的查询中获取最大值

时间:2016-02-14 12:46:47

标签: mysql sql

我需要使用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中。

1 个答案:

答案 0 :(得分:1)

你应该使用LIKE而不是IN,因为IN就像比较整个字符串和完全匹配。 LIKE将字符串与字符串的一部分进行比较(每个%意味着任何东西都可以替换它)

createConnection

另外,我不确定mysql语法,但我认为它应该是

SELECT `MAX(id)`
FROM `table`
WHERE `name` LIKE '%3%'