SQL – 5.数据分组 + 6.限制结果集行数 + 7.抑制重复数据
数据分组(count(*))
- 按照年龄进行分组统计各个年龄段的人数:
SELECT FAge,Count(*) FROM T_Employee GROUP BY Fage - GROUP BY子句必须放到WHERE语句的之后
- 没有出现在GROUP BY子句中的列是不能放到SELECT语句后的列名列表中的 (聚合函数中除外)
•错误:SELECT FAge,FSalary FROM T_Employee GROUP BY FAge
•正确:SELECT FAge,AVG(FSalary) FROM T_Employee GROUP BY FAge
HAVING语句
- 在Where中不能使用聚合函数,必须使用Having,Having要位于Group By之后,
SELECT FAge,COUNT(*) AS 人数 FROM T_Employee GROUP BY FAge HAVING COUNT(*)>1 - 注意Having中不能使用未参与分组的列,Having不能替代where。作用不一样,Having是对组进行过滤。
限制结果集行数(top)
- select top 5 * from T_Employee order by FSalary Desc
- (*)检索按照工资从高到低排序检索从第六名开始一共三个人的信息 :
SELECT top 3 * FROM T_Employee
WHERE FNumber NOT IN
(SELECT TOP 5 FNumber FROM T_Employee ORDER BY FSalary DESC)
ORDER BY FSalary DESC - SQLServer2005后增加了Row_Number函数简化实现,后面会讲。
去掉数据重复(distinct)
- 执行备注中的SQL语句,Alter和Insert单独执行。
SELECT FDepartment FROM T_Employee SELECT DISTINCT FDepartment FROM T_Employee - DISTINCT是对整个结果集进行数据重复处理的,而不是针对每一个列,因此下面的语句并不会只保留Fdepartment进行重复值处理:
SELECT DISTINCT FDepartment,FSubCompany
FROM T_Employee
作者:【唐】三三
出处:https://www.cnblogs.com/tangge/archive/2012/05/04/2482203.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2011-05-04 【表单】-专题解析