设有学生表(学号,姓名,所在系)和选课表(学号,课程号,成绩),现要利用开窗函数查询每个学生的姓名、所在系及选课门数(不包括没选课的学生)。请补全下列语句: SELECT DISTINCT 姓名,所在系,COUNT(*)【4】AS 选课门数 FROM 学生

admin2021-07-14  25

问题 设有学生表(学号,姓名,所在系)和选课表(学号,课程号,成绩),现要利用开窗函数查询每个学生的姓名、所在系及选课门数(不包括没选课的学生)。请补全下列语句:
SELECT DISTINCT 姓名,所在系,COUNT(*)【4】AS 选课门数 FROM 学生表 T1 JOIN 选课表T2 ON T1.学号=T2.学号

选项

答案OVER(PARTITION BY T1.学号) OVER(PARTITION BY T2.学号)

解析 开窗函数公式:函数名(列) OVER(选项)。OVER关键字表示把函数当成开窗函数而不是聚合函数。SQL SERVER 2005/2008支持两种开窗函数,分别为:排名开窗函数和聚集开窗函数。聚合开窗函数只能使用PARTITION BY子句不带任何语句,ORDER BY不能与聚合开窗函数一同使用。很多聚合函数都可以用作窗口函数的运算,如SUM、AVG、MAX、MIN和COUNT。
转载请注明原文地址:https://jikaoti.com/ti/Ibu7FFFM
0

最新回复(0)