如何比较 mysql 查询中的两个数组?

How to compare two arrays in mysql query?

我有一个名为 mm_test 的 table,如下所示:-

身份教育
1 3,4,6,8,9

我想检查这个数组是否包含(4,6)。如何使用 mysql 查询进行检查。 Mysql 'IN' 命令对我不起作用。

我这样查询...

select * 来自 mm_test 其中 educations IN (4,6);

但是这个查询返回了空结果。请任何人帮助我。

您可以使用 find_in_set():

where find_in_set(4, educations) > 0 and
      find_in_set(6, educations) > 0

然而,这通常是低效的。问题是你的数据结构。您应该使用一个连接点 table,每个教育都有一列,而不是将整数列表存储在一个非常不合适的数据结构中——一个字符串。

使用这个FIND_IN_SET Manual

SELECT * 
FROM mm_test 
WHERE FIND_IN_SET(4, educations) > 0 
AND FIND_IN_SET(6, educations) > 0;