SqlServer--聚合函数
--聚合函数默认把整个表中的数据当做“一组”,然后才进行的统计。
select * from NewPerson
--统计出所有人的年龄的总和
select sum(age) as 年龄总和 from NewPerson
--统计当前表中一共有多少条记录
select count(*) from NewPerson
--计算平均年龄
select 平均年龄=(select sum(age) as 年龄总和 from NewPerson)*1.0/(select count(*) from NewPerson)
--计算年龄最大的
select max(age) from NewPerson
--年龄最小的
select min(age) from NewPerson
--计算平均值avg
select avg(age*1.0) from NewPerson
--聚合函数不统计空值,直接忽略,而不是将其作为“0”参与计算。
--GROUP BY的使用注意事项
1、分组列中若有NULL,这也将作为一组,且NULL值排在最前面
2、除汇总函数计算语句外,SELECT中的选择列必须出现在GROUP BY 中
3、GROUP BY 可以包含任意数目的列,可以嵌套
--2.如果使用聚合函数的时候,没有手动group by分组,那么聚合函数会把整个表中的数据作为一组来统计
--查询没有及格的学生(假设:数学或英语,只要有一门没有及格就叫做没有及格)的学号
select * from TblScore
select tsid from TblScore where tEnglish<60 or tMath<60
--查询年龄在20-30岁之间的男学生(包含)
select * from MyStudent
select * from MyStudent where fage>=20 and fage<=30 and fgender='男'
--Between…and … 在...之间,(闭区间,包含两个端点值)
select * from MyStudent where fage between 20 and 30 and fgender='男'
select * from TblStudent
--查询出所有班级Id为3,4,5的那些学生
select * from TblStudent where tsclassId=3 or tsclassId=4 or tsclassId=5
select * from TblStudent where tsclassId in (3,4,5)
--19,1,27,86
select * from TblStudent where tsclassId in (19,1,27,86)
--对于in或者or 查询,如果查询中的条件是连续的几个数字,最好使用>= <=或者between...and不要使用or或者in。提高效率
select * from TblStudent where tsclassId >=3 and tsclassId<=5
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具