基于配置单元中大小的过滤器

0yycz8jy  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(250)

我想根据大小筛选配置单元中的记录,如何实现这一点?请帮忙。
查询

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;
y1aodyip

y1aodyip1#

当您使用具有size值的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>;

相关问题