【发布时间】:2021-09-20 07:16:54
【问题描述】:
这是一个 Presto SQL 问题。
我有一个表 Test,其中包含一个名为 mitigations 的数组字段。
如何检查该数组中是否有任何元素存在于子查询中
(select distinct(ID) from other_table)?
【问题讨论】:
这是一个 Presto SQL 问题。
我有一个表 Test,其中包含一个名为 mitigations 的数组字段。
如何检查该数组中是否有任何元素存在于子查询中
(select distinct(ID) from other_table)?
【问题讨论】:
使用ANY函数检查数组中是否有元素
考虑以下示例
CREATE TABLE sal_emp (
name text,
pay_by_quarter integer[]
);
INSERT INTO sal_emp
VALUES
('Bill','{40000, 10000, 30000, 10000}'),
('Jack','{10000, 50000, 20000, 10000}');
我们要检查数组中是否有 10,000 个数字
SELECT * FROM sal_emp
where 10000 = ANY (pay_by_quarter);
上面的查询换个方式
SELECT name FROM sal_emp
WHERE pay_by_quarter IN
(SELECT pay_by_quarter FROM sal_emp WHERE 10000 = ANY (pay_by_quarter));
【讨论】: