groupby在窗口函数前执行,窗口函数对分组后的结果集再开窗
比如下表
select lesson, count(*) over (partition by lesson) as count from test.test group by lesson;
得到的
先分组得到
lesson=E的一组和lesson=Math的一组,在以lesson开窗,那每个窗口内就是自己分组聚合的一行数据.
执行以下sql
select lesson, count(*) over (partition by count(score)) as count from test.test group by lesson;
得到的
原本lesson=E的一组和lesson=Math的count(score)都为4,所以以count(score)开窗,他俩每组的唯一一行聚合结果就分到一个窗口中,再对开窗内的列聚合就为2.
实际遇见的少
版权声明:本文为m0_68415041原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。