应用题 5.  设有课程表(课程号,课程名,开课学期)和选课表(学号,课程号,成绩),现要利用开窗函数查询每门课程的课程名、开课学期及选该门课的学生人数(不包括没人选的课程)。请补全下列语句:
    SELECT DISTINCT 课程名, 开课学期, COUNT(*) OVER(______ BY T1.课程号)AS 选课人数
    FROM 课程表 T1 JOIN 选课表 T2 ON T1.课程号=T2.课程号
  • 1、
【正确答案】 1、PARTITION    
【答案解析】 开窗函数公式:函数名(列)OVER(选项)。OVER关键字表示把函数当成开窗函数而不是聚合函数。在SQL SERVER 2005/2008支持两种:排名开窗函数和聚集开窗函数。聚合开窗函数只能使用PARTITION BY子句或都不带任何语句,ORDER BY不能与聚合开窗函数一同使用。很多聚合函数都可以用作窗口函数的运算,如SUM、AVG、MAX、MIN、COUNT。