sqlserver的查询(三)

news2024/9/24 21:23:18

        

目录

10. group by(分组)

11. having(对分组后的信息过滤)


 可能从这里开始,执行顺序越来越显得重要了!!!

10. group by(分组)

        ·这个查询相比前面会有一些困难; 

        格式:group by 字段的集合;

        功能:把表中的记录按照字段分成不同好的组;

        注意: group by a , b , c ;先按 a 分组,在 a 相同的情况下,再按 b 分组,在 b  相同的情况的情况下,再按 c 分组,最后统计的是最小分组的信息; 

                组的整体信息:经过 “统计” 操作而得到的信息 ;

                组的详细信息:比如直接输出的某个字段;

--group by 之后只出现分组后的整体信息,不能出现组内整体信息;
select deptno ,avg(sal) as "部门平均工资"--表示输出编号分别为10,20,30数据的平均数
    from emp 
    group by deptno;


select deptno,avg(sal) as "部门平均工资",ename--报错,ename的数据前面输出三行,而ename输出14行;
    from emp 
    group by deptno; --group by 之后只出现分组后的整体信息,不能出现组内整体信息;


select deptno,job ,avg(sal) as "平均工资"--okok
    from emp
    group by deptno ,job
    order by deptno,job;


select deptno ,job,avg(sal) as "平均工资",count(*)as"部门人数",--集合函数都可以使用
    sum(deptno)"总数",max(sal)as"最大值",min(sal)as"最小值"

--集合函数操作的都是最小分组信息


    from emp
    group by deptno,job
    order by deptno,job; 

11. having(对分组后的信息过滤)

(前面学习的聚合函数功能为将多行记录返回一个值,用于统计分组的信息)

--having(对分组后的数据过滤,一般会先使用group by;倘若没有出现group by,则默认having把整张表当作一组进行过滤
select max(sal)as"最高工资" from emp;
--输出【平均工资大于2000的】部门平均工资
select deptno,avg(sal)as"平均工资" from emp group by deptno having avg(sal)>2000;
select deptno,avg(sal)as"平均工资" from emp group by deptno;--分组查询编号为10,20,30的部门的平均工资
select deptno,avg(sal) as "平均工资" from emp group by deptno having count(*)>5;--分组查询员工个数大于5的部门的平均工资

--把姓名不包含A的员工按部门编号分组,统计输出部门平均工资大于2000的部门
--where必须写在having的前面,顺序不可颠倒;
select deptno,avg(sal),count(*)from emp 
        where ename not like '%A%'--对原始的数据过滤,必须放在前面
        group by deptno
        having avg(sal)>2000;--对分组后的数据过滤
        select * from emp;


        select deptno,avg(sal) from emp -----------------------------error
        group by deptno
        having avg(sal)>2000
        where ename not like '%A%';

--倘若没有出现 group by,只出现 having,则默认 having 把整张表当作一组进行过滤(很少用)
--where和having一样,都不允许出现字段的别名;

select deptno,avg(sal) as "平均工资" from emp group by deptno having "平均工资">2000--不可以使用别名,与执行顺序有关
select ename as "部门" from emp where ename not like '%A%';

        学完group by 和 having 感觉到麻木,无助,痛苦!

        希望大家多多留言,指导一下数据库的学习新的和学习经历,感谢啦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1701336.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

.NET调用阿里云人脸识别1:1简易流程保姆级教学

需要注意的是,以下内容仅限基础调用 人脸比对1:1 功能说明 该功能是两张照片对比,比对两张照片是不是同一个人,至于应用到什么场景,可以参考阿里云的官方文档,我这边以大学生项目来说的话,比如员工打卡&a…

实现销售与客流双增长!看看社区零售“排队王”如何成为顶流?

5月18日至5月26日,北京华联BHGMall燃情推出了一年一度的2024 Need(你的)BHGDay,接棒“五一”热潮,献礼“520”,通过韩式俯拍机、人生四宫格拍摄大赛、真合拍星派对、超级品牌日等丰富多彩的线上线下活动&am…

react实现动态增减表单项

在做项目的时候,甲方给的信息有限,网页的备案信息写成固定的,如下图所示 之后验收的时候,甲方要求把这个备案信息写成动态的,可以自增减,就去react组件库看看有没有具体的实现,果真有&#xff…

STM32_HAL__TIM_输出比较

概述 STM32的输出比较功能通常是指在微控制器的PWM(脉冲宽度调制)生成能力中的一个方面。STM32微控制器拥有一个或多个定时器/计数器,这些定时器/计数器可以用来生成PWM信号。PWM信号是一种重要的控制信号,广泛应用于电机控制、亮…

1分钟快速掌握JSON格式

文章目录 先说理论代码举例对象型数组型总结 先说理论 下面是JSON的几种简单数据类型: 数据类型描述数字型JavaScript中的双进度浮点类型,通常根据具体情况定义,这里是没有特殊的整形的。字符串型带双引号的Unicode,带反斜杠转义布尔型true…

探索python循环逻辑的魅力:从无限到有限

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:循环逻辑的初步认识 二、无限循环:持续运转的引擎 三、有…

等保服务是一次性服务吗?为什么?怎么理解?

我国等保政策已经严格落地执行,但还有不少企业对于等保服务不是很了解。例如有人问,等保服务是一次性服务吗?为什么?怎么理解?今天我们就来简单回答一下,仅供参考哈! 等保服务是一次性服务吗&…

前端Vue自定义顶部搜索框:实现热门搜索与历史搜索功能

前端Vue自定义顶部搜索框:实现热门搜索与历史搜索功能 摘要: 随着前端开发复杂性的增加,组件化开发成为了提高效率和降低维护成本的有效手段。本文介绍了一个基于Vue的前端自定义顶部搜索框组件,该组件不仅具备基本的搜索功能&am…

PLC无线通讯模块在触摸屏与台达PLC之间的应用教程

本方案可以作为信捷触摸屏与台达PLC之间在台达专用协议下将有线通讯改为无线通讯的应用实例。此方案中信捷TG765触摸屏作为主站,台达DVP-32EH PLC作为从站,采用西安达泰电子日系PLC无线通讯终端——DTD435MA-V384,作为实现无线通讯的硬件设备…

十分钟精通MinIO:minio的原理、部署、操作

一、认识MinIO Minio是一个简单易用的云存储服务,就像是一个放在网络上的大文件柜。想象一下,你有一间放满了各种文件的房间,有时候你需要把这些文件分享给朋友或者在不同地方访问它们。Minio就是帮你做到这一点的工具,它让你可以…

力扣:236.二叉树的最近公共祖先(C++)

文章目录 1. 题目描述2. 题目解析2.1 思路一2.1 思路二 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 题目来源: 力扣…二叉树的最近公共祖先 1. 题目描述 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表…

JUC框架(Semaphore、CountDownLatch、CyclicBarrier)

文章目录 Semaphore(信号量)Semaphore介绍Semaphore基本概念Semaphore使用场景Semaphore示例 CountDownLatch (计数器/闭锁)CountDownLatch 介绍CountDownLatch 基本概念CountDownLatch 使用场景CountDownLatch 基本方法CountDownLatch 示例 CyclicBarri…

新能源锂电池行业创业的财富方案,锂电池回收高阶课

课程下载:https://download.csdn.net/download/m0_66047725/89292234 更多资源下载:关注我。 实战攻略 12年锂电池回收行业经验与坑全收录 课程内容: 001-课程介绍.mp4 002-锂电池的全种类认识.mp4 003-废品锂电池到级片粉末价值估算,mp…

Go微服务: Grpc服务注册在Consul的示例(非Go-Micro)

概述 现在,我们使用consul客户端的api来把GRPC服务实现注册到consul上,非Go-Micro的形式其实,consul官方提供了对应的接口调用来实现,golang中的consul/api包对其进行了封装我们使用consul/api来进行展示 目录结构 gitee.com/g…

纯CSS丝滑边框线条动画

在这个网站(minimal-portfolio-swart.vercel.app)发现一个不错的交互效果,用户体验效果很不错。如封面图所示,这个卡片上有一根白色的线条围绕着卡片移动,且在线条的卡片内部跟随这一块模糊阴影,特别是在线…

Execel 数据分析-如何使用筛选-图表-透视图-处理多变量数据集

如果你的数据有很多个变量,比如横轴X有a,b,c,d等几个变量,Y轴也有个变量,那么这时候就用得到。 比如下面的例子,测试GPU的kernel吞吐量,其中stream cnt,grid dim,block dim 产生后面几个变量&am…

如何给出好的“文言一心”指令?

一、文言一心是什么? 在现代技术背景下,“文言一心”还是百度公司创建的一款大语言模型。这款模型基于飞桨深度学习平台和文心知识增强大模型,并拥有强大的中文语料库,可以理解和生成富含文化内涵和哲理的文本内容。其核心技术架构…

第三方软件测试机构进行代码审计需要哪些专业的知识?

代码审计 进行代码审计需要专业的知识,包括编程语言、操作系统、数据库、网络知识以及安全知识等。 1.编程语言知识是进行代码审计的基础,因为你需要理解代码的语法和结构。对于不同的应用程序,你需要了解其所使用的编程语言的特点和语法规…

如何利用InputStream类实现文件读取与处理?

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

嵌入式UI开发-lvgl+wsl2+vscode系列:2、label(标签)+button(按钮)+slider(滑块)控件熟悉及其示例demo运行

文章目录 一、前言二、常见控件示例demo模拟环境运行及接口熟悉(重要)如何修改示例main函数测试各种示例1、label示例1.1、label示例1(标签基础示例)1.2、label示例2(标签带阴影效果)1.3、label示例3&#…