1

开窗函数+group by案例

CREATE TABLE city_data (
    city STRING,
    random_field STRING
);


INSERT INTO city_data (city, random_field) VALUES
('New York', 'example1'),
('Los Angeles', 'example2'),
('New York', 'example3'),
('Chicago', 'example4');


select  
city , 
count(1) over() 
from  city_data 
group by  city ; 
=======================================================================
Los Angeles    3
New York    3
Chicago    3
注释:如上结果 是对整个表作为一个分区, count的值结果都一样,所有数据为1个窗口.
========================================================================
select  
city , 
count(1) over(partition by  city ) 
from  city_data 
group by  city ; 
注释: 这种写法是没任何意义的. 会把所有字段值数量返回 count结果为1 的值.
========================================================================
Los Angeles    1
New York    1
========================================================================
select  
city , 
count(1) over(partition by  city ) 
from  city_data ;
========================================================================
Los Angeles    1
New York    2
New York    2
注释:属于正常开窗函数. 


 

 

posted @ 2024-08-29 14:59  萌哥-爱学习  阅读(28)  评论(0编辑  收藏  举报