我想根据大小过滤蜂巢中的记录,如何实现? 请帮忙。
查询
SELECT
t1.member_id,
t2.first_name,
t2.date_of_birth_sk,
COLLECT_LIST(t3.measure_title) as all_measure_desc,
size( COLLECT_LIST(t3.measure_title)) as ps
FROM qms_gic_lifecycle t1
INNER JOIN dim_member t2
on t1.member_id = t2.member_id
INNER JOIN dim_quality_measure t3
on t1.quality_measure_id = t3.quality_measure_id
where t1.status <> 'closed'
GROUP BY
t1.member_id,
t2.first_name,
t2.date_of_birth_sk;
答案 0 :(得分:0)
当具有大小值的 ps 字段时,将您的查询用作子查询,然后使用带有 ps 字段的where子句仅过滤匹配的行。
hive> Select * from (
SELECT
t1.member_id,
t2.first_name,
t2.date_of_birth_sk,
COLLECT_LIST(t3.measure_title) as all_measure_desc,
size( COLLECT_LIST(t3.measure_title)) as ps
FROM qms_gic_lifecycle t1
INNER JOIN dim_member t2
on t1.member_id = t2.member_id
INNER JOIN dim_quality_measure t3
on t1.quality_measure_id = t3.quality_measure_id
where t1.status <> 'closed'
GROUP BY
t1.member_id,
t2.first_name,
t2.date_of_birth_sk) s
where s.ps >= <size_value>;