SQL: 在列为数组的查询中获取最大值
SQL: Get maximum value in query where column is an array
我需要使用 SQL 从以下 table 中获取最大 id 值,其中名称为 3 包含在该列的数组中:
id name
1 [2,3]
2 [3,5,6]
3 [7,8]
这就是我正在尝试的(有很多组合):
SELECT `MAX(id)`
FROM `table`
WHERE `name`
IN ( 3 )
我应该得到结果 2
因为 3
包含在 id 1 和 2 中。
您应该使用 LIKE 而不是 IN,因为 IN 就像将整个字符串与精确匹配进行比较。 LIKE 是将字符串与字符串的一部分进行比较(每个 % 表示任何东西都可以替换它)
SELECT `MAX(id)`
FROM `table`
WHERE `name` LIKE '%3%'
此外,我不确定 mysql 语法,但我认为应该是
MAX(`ID`) and not `MAX(ID)`
我需要使用 SQL 从以下 table 中获取最大 id 值,其中名称为 3 包含在该列的数组中:
id name
1 [2,3]
2 [3,5,6]
3 [7,8]
这就是我正在尝试的(有很多组合):
SELECT `MAX(id)`
FROM `table`
WHERE `name`
IN ( 3 )
我应该得到结果 2
因为 3
包含在 id 1 和 2 中。
您应该使用 LIKE 而不是 IN,因为 IN 就像将整个字符串与精确匹配进行比较。 LIKE 是将字符串与字符串的一部分进行比较(每个 % 表示任何东西都可以替换它)
SELECT `MAX(id)`
FROM `table`
WHERE `name` LIKE '%3%'
此外,我不确定 mysql 语法,但我认为应该是
MAX(`ID`) and not `MAX(ID)`