T-SQL GROUP BY
前段时间,有举过一些函数例子,如SUM,COUNT,MAX,MIN,AVG,当我们调用这些函数进行运算,再想对这些运算结果进行分组,那得需使用GROUP BY来实现。
下面先准备一些数据。创建一个表[RecordHits],并填充一些数据:

CREATE TABLE RecordHits
(
RId NVARCHAR(2),
DT DATE,
Hits INT
)
GO
INSERT INTO [dbo].[RecordHits] VALUES
('R1','2011-01-23',30),
('R2','2011-01-23',33),
('R3','2011-01-23',29),
('R4','2011-01-23',31),
('R1','2011-01-24',25),
('R2','2011-01-24',35),
('R3','2011-01-24',43),
('R4','2011-01-24',37),
('R1','2011-01-25',24),
('R2','2011-01-25',40),
('R3','2011-01-25',36),
('R4','2011-01-25',42),
('R1','2011-01-26',36),
('R2','2011-01-26',42),
('R3','2011-01-26',27),
('R4','2011-01-26',33)
GO
(
RId NVARCHAR(2),
DT DATE,
Hits INT
)
GO
INSERT INTO [dbo].[RecordHits] VALUES
('R1','2011-01-23',30),
('R2','2011-01-23',33),
('R3','2011-01-23',29),
('R4','2011-01-23',31),
('R1','2011-01-24',25),
('R2','2011-01-24',35),
('R3','2011-01-24',43),
('R4','2011-01-24',37),
('R1','2011-01-25',24),
('R2','2011-01-25',40),
('R3','2011-01-25',36),
('R4','2011-01-25',42),
('R1','2011-01-26',36),
('R2','2011-01-26',42),
('R3','2011-01-26',27),
('R4','2011-01-26',33)
GO
下面例子,是对查询出每笔记点击数和进行分组:
SELECT [RId],SUM([Hits]) AS [TotalHits] FROM [dbo].[RecordHits]
GROUP BY [RId]
GROUP BY [RId]
结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步