普通的聚合函数聚合的行集是组,开窗函数聚合的行集是窗口。因此,普通的聚合函数每组(Group by)只返回一个值,而开窗函数则可为窗口中的每行都返回一个值。简单理解,就是对查询的结果多出一列,这一列可以是聚合值,也可以是排序值。 开窗函数一般分为两类,聚合开窗函数和排序开窗函数。
-- 建表 create table student_scores( id int, studentId int, language int, math int, english int, classId string, departmentId string ); -- 写入数据 insert into table student_scores values (1,111,68,69,90,'class1','department1'), (2,112,73,80,96,'class1','department1'), (3,113,90,74,75,'class1','department1'), (4,114,89,94,93,'class1','department1'), (5,115,99,93,89,'class1','department1'), (6,121,96,74,79,'class2','department1'), (7,122,89,86,85,'class2','department1'), (8,123,70,78,61,'class2','department1'), (9,124,76,70,76,'class2','department1'), (10,211,89,93,60,'class1','department2'), (11,212,76,83,75,'class1','department2'), (12,213,71,94,90,'class1','department2'), (13,214,94,94,66,'class1','department2'), (14,215,84,82,73,'class1','department2'), (15,216,85,74,93,'class1', ---来自腾讯云社区的---week
微信扫一扫打赏
支付宝扫一扫打赏