如何比较 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,每个教育都有一列,而不是将整数列表存储在一个非常不合适的数据结构中——一个字符串。
SELECT *
FROM mm_test
WHERE FIND_IN_SET(4, educations) > 0
AND FIND_IN_SET(6, educations) > 0;
我有一个名为 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,每个教育都有一列,而不是将整数列表存储在一个非常不合适的数据结构中——一个字符串。
SELECT *
FROM mm_test
WHERE FIND_IN_SET(4, educations) > 0
AND FIND_IN_SET(6, educations) > 0;