Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- group_active_member_num.group_id
- ,count(group_active_member_num.active_member_num)
- ,count(group_member_num.member_num)
- FROM
- (
- SELECT
- group_id AS group_id
- ,COUNT(*) AS active_member_num
- FROM (
- SELECT
- group_id
- ,member_id
- ,active_date
- ,active_num
- FROM (
- SELECT
- group_id
- ,member_id
- ,active_map
- FROM ml_group_active_status LATERAL VIEW
- EXPLODE(member_active_days_num_map) active_1 AS member_id, active_map
- ) member_1 LATERAL VIEW EXPLODE(active_map) active_2 AS active_date, active_num
- ) member_2
- WHERE active_num > 0 GROUP BY group_id
- ) AS group_active_member_num
- JOIN
- (
- SELECT
- group_id AS group_id
- ,COUNT(member_id) AS member_num
- FROM (
- SELECT
- group_id
- ,member_id
- ,active_date
- ,active_num
- FROM (
- SELECT
- group_id
- ,member_id
- ,active_map
- FROM ml_group_active_status LATERAL VIEW
- EXPLODE(member_active_days_num_map) active_3 AS member_id, active_map
- ) member_3 LATERAL VIEW EXPLODE(active_map) active_4 AS active_date, active_num
- ) member_4
- GROUP BY group_id
- ) AS group_member_num
- on group_active_member_num.group_id = group_member_num.group_id
- limit 100
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement