json取交集_查找MySQL JSON对象或数组的交集
时间: 2023-06-20 09:07:44 浏览: 291
Mysql-Queries
要查找 MySQL JSON 对象或数组的交集,可以使用 MySQL 内置的 JSON 函数。
假设我们有两个 JSON 数组:
```json
{
"fruits": ["apple", "banana", "pear"]
}
```
```json
{
"fruits": ["banana", "orange", "pear"]
}
```
我们想要找到这两个数组的交集,可以使用 JSON 函数 `JSON_CONTAINS` 和 `JSON_ARRAYAGG` 来实现。
```sql
SELECT JSON_ARRAYAGG(fruit) AS result
FROM (
SELECT DISTINCT fruit
FROM (
SELECT JSON_EXTRACT(JSON_OBJECT('fruits', JSON_CONTAINS(
'{"fruits": ["apple", "banana", "pear"]}',
'{"fruits": ["banana", "orange", "pear"]}',
'$.fruits'
)), '$.fruits') AS fruit
) AS tmp
WHERE fruit IS NOT NULL
) AS tmp2;
```
这个查询会返回结果:
```json
["banana", "pear"]
```
说明两个 JSON 数组的交集是 "banana" 和 "pear"。
阅读全文