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

admin2015-07-24  20

问题 设有学生表(学号,姓名,所在系)和选课表(学号,课程号,成绩),现要利用开窗函数查询每个学生的姓名、所在系及选课门数(不包括没选课的学生)。请补全下列语句:
SELECT DISTINCT 姓名, 所在系, COUNT(*)____________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://kaotiyun.com/show/CIlZ777K
0

最新回复(0)