聚合函數:聚合函數就是對一組值進行計算后返回單個值(即分組)。聚合函數在計算時都會忽略空值(null)。
所有的聚合函數均為確定性函數。即任何時候使用一組相同的輸入值調用聚合函數執行后的返回值都是相同的,無二義性。
2 聚合開窗函數
聚合函數加上 over() 開窗函數就是聚合開窗函數。
CREATE TABLE S_tudent( S_Id INT PRIMARY KEY NOT NULL ,S_StuNo NVARCHAR(10) ,S_Name NVARCHAR(30) ,S_Sex CHAR(2) ,S_Height NVARCHAR(10) ,S_BirthDate NVARCHAR(30) ,C_S_Id INT ) SELECT * FROM dbo.S_tudent; INSERT INTO dbo.S_tudent( S_Id ,S_StuNo ,S_Name ,S_Sex ,S_Height ,S_BirthDate ,C_S_Id) VALUES(1,'001','項目','男','190','2017-01-01',1); INSERT INTO dbo.S_tudent( S_Id ,S_StuNo ,S_Name ,S_Sex ,S_Height ,S_BirthDate ,C_S_Id) VALUES(6,'002','劉邦','男','190','2017-01-01',NULL); INSERT INTO dbo.S_tudent( S_Id ,S_StuNo ,S_Name ,S_Sex ,S_Height ,S_BirthDate ,C_S_Id) VALUES(7,'003','貂蟬','女','180','2017-01-01',NULL); INSERT INTO dbo.S_tudent( S_Id ,S_StuNo ,S_Name ,S_Sex ,S_Height ,S_BirthDate ,C_S_Id) VALUES(9,'005','少司命','女','175','2017-01-01',4); INSERT INTO dbo.S_tudent( S_Id ,S_StuNo ,S_Name ,S_Sex ,S_Height ,S_BirthDate ,C_S_Id) VALUES(13,'009','天明','男','155','2017-01-01',4); INSERT INTO dbo.S_tudent( S_Id ,S_StuNo ,S_Name ,S_Sex ,S_Height ,S_BirthDate ,C_S_Id) VALUES(16,'012','蓋聶','男','185','2017-01-01',1); INSERT INTO dbo.S_tudent( S_Id ,S_StuNo ,S_Name ,S_Sex ,S_Height ,S_BirthDate ,C_S_Id) VALUES(17,'013','衛庄','男','185','2017-01-01',1); INSERT INTO dbo.S_tudent( S_Id ,S_StuNo ,S_Name ,S_Sex ,S_Height ,S_BirthDate ,C_S_Id) VALUES(18,'014','大司命','女','183','2017-01-01',2); INSERT INTO dbo.S_tudent( S_Id ,S_StuNo ,S_Name ,S_Sex ,S_Height ,S_BirthDate ,C_S_Id) VALUES(19,'015','月兒','女','165','2017-01-01',2);