开窗函数
————————————————————————————————————————————#partition by 分组
SELECT * ,
聚合函数(列名) over (partition by 列名)
FROM 表名 ;
-------
SELECT * ,
聚合函数 (列名) over (partition by 列名 order by 列名)
FROM 表名 ;
------
SELECT * ,
聚合函数 (列名) over (order by 列名)
FROM 表名 ;
------
SELECT * ,
聚合函数 (列名) over()
FROM 表名 ;
------也可以一起写
SELECT * ,
聚合函数 (列名) over (partition by 列名),
聚合函数 (列名) over (partition by 列名 order by 列名),
聚合函数 (列名) over (order by 列名),
聚合函数 (列名) over ()
FROM 表名 ;
——————————————————————————————————————————————#ROW_NOBMER 排序
SELECT * ,
ROW_NOBMER () over (partition BY 列名 order by 列名 asc/desc) as 别名
FROM 表名 ;
------
SELECT * ,
ROW_NOBMER () over (order by 列名 asc/desc) as 别名
FROM 表名 ;
------
SELECT * FROM (
SELECT * ,
ROW_NOBMER() over (order BY 列名 asc/desc) as 别名
FROM 表名
) t where t.别名 = 条件 ;
——————————————————————————————————————————————RANK #排名函数,可以对某一个字段进行排名,当存在一样的数据row_number会把相同数据排名分等级,但是rank会把相同数据排名一致
SELECT
RANK () over (order by 列名 desc) as [RANK], *
FROM 表名 ;
————————————————————————————————————————————
聚合函数
————————————————————————————————————————————
avg、sum、count、max、min