文章预览
点击上方【蓝色】字体 关注我们 01 场景描述 在表中有一堆学生记录。 school stduent_id start_date end_date 222 123 2019-02-03 2023-02-03 222 345 2015-02-03 2019-02-03 222 567 2021-02-03 2024-02-03 (1)我想计算每所学校每年有多少学生,比如从 2017 年一直到 2024 年。 (2) 我希望在年份移动时自动更新,例如,现在应该是 2017-2024,明年应该是 2018-2025。 02 数据准备 create table student as ( select stack( 3 , 222 , 123 , '2019-02-03' , '2023-02-03' , 222 , 345 , '2015-02-03' , '2019-02-03' , 222 , 567 , '2021-02-03' , '2024-02-03' ) as (school,student,start_date,end_date) ); 03 问题分析 问题1分析 第一步:利用lateral view explode展成明细数据 SELECT * FROM student LATERAL VIEW EXPLODE ( ARRAY ( 2017 , 2018 , 2019 , 2020 , 2021 , 2022 , 2023 , 202
………………………………