sqlserver的查询(三)

        

目录

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 感觉到麻木,无助,痛苦!

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GD32F103RCT6/GD32F303RCT6-UCOSIII底层移植(4)消息队列实验

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 后续项目主要在下面该专栏中发布: 手把手教你嵌入式国产化_不及你的温柔的博客-CSDN博客 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转: 手把手教你嵌入式国产化-实战项目-无刷电机驱动&am…

Java | Leetcode Java题解之第109题有序链表转换二叉搜索树

题目: 题解: class Solution {ListNode globalHead;public TreeNode sortedListToBST(ListNode head) {globalHead head;int length getLength(head);return buildTree(0, length - 1);}public int getLength(ListNode head) {int ret 0;while (head…

kimi :系统框架 实力学习

学海无涯,你,准备好了吗? 学习一个新的嵌入式系统架构,你"只"需要 - 1 - 手册/速查函数(对于比较大的架构,F12往往返回多个结果,增加混乱); 2 - 源代码和VS&am…

20.有序性与内存屏障

文章目录 有序性与内存屏障1.重排序1.1.编译器重排序1.2.CPU重排序1.2.1.指令级重排序1.2.2.内存系统重排序1.3.As-if-Serial规则 2.内存屏障2.1.硬件层面的内存屏障2.1.2.写屏障2.1.3.读屏障2.1.4.全屏障 2.2.硬件层的内存屏障作用2.3.案例 有序性与内存屏障 有序性 与 可见性…

混合组网VS传统网络:智能硬件混合组网优劣势浅要解析

智能硬件混合组网是一种利用多种通信技术相结合的方法,以实现更灵活、更可靠的网络连接。通过蓝牙、Wi-Fi、LoRa、4G相互之间的不同通讯方式,根据应用场景的不同以及现场实际环境,优选最佳物联网混合组网方案,以达到部署最便捷性价…

云曦2024年春季学期期中考复现

目录 Web Web_SINGIN 简简单单的文件上传 好玩的PHP 渗透的本质 简简单单的sql re baby_re easy xor Crypto easy_rsa Rsa2 Crypto_Singin Pwn pwn_Sing Misc easy_singin Xjpg 流量分析1 流量分析3 流量分析2 Web Web_SINGIN 1.使用右键检查&#xff0c…

IMU内参标定(理论)

1、内参标定标定什么? 生产零偏、标度因数误差、安装误差 2、现象是什么? 零偏现象:即使没有任何运动或旋转,IMU传感器仍然会输出一个非零的信号。零偏是一个恒定的误差,导致测量值始终偏离实际值。对于加速度计&am…

DolphinDB 携手九鞅科技,助力固收投研效能飞跃

随着金融市场开放的广度与深度不断拓宽,金融产品呈现出多样化的发展态势,其中债券投资组合凭借其低风险性、高流动性与稳健的收益表现,逐渐成为投资理财领域备受瞩目的焦点。投资经理不仅需要了解哪些债券值得投资,更要对债券投资…

【GESP试卷】2024年03月Scratch四级试卷

2024年GESP03月认证Scratch四级试卷 分数:100 题数:27 一、单选题(共15题,每题2分,共30分) 010203040506070809101112131415CDBBACBCDCDADBA 1、小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙&…

朋友正确交往方式,以及保留有效沟通,才是对朋友的尊重!

人生就像一列火车,从生命之初驶向生命的终点,路途上有很多站点,每一个站点都会遇到不同的人,结交各式各样的朋友,中间有人下车,有人上车,有人与你走着走着就散了,有人偶有相见却已是…

Qt 科目一考试系统(有源码)

项目源码和资源:科目一考试系统: qt实现科目一考试系统 一.项目概述 该项目是一个基于Qt框架开发的在线考试系统,主要实现了考试题目的随机抽取、考试时间限制、成绩统计等功能。用户可以通过界面操作进行考试,并查看自己的考试成绩。 二.技…

计算机网络之应用层知识点总结

6.1 网络应用模型 (1)应用层概述 (2)网络应用模型的介绍 客户/服务器(C/S)模型 P2P模型 6.2 域名解析系统DNS (1)DNS系统介绍 (2)域名 (3&#…

AI爆文写作:标题需要什么?情绪炸裂,态度要激烈,行为要夸张!

现在这个传播环境下,在公域中,轻声细语,慢慢的说,无法吸引到注意,没有人搭理。 标题要需要情绪张扬,态度激烈,行为夸张,大声喧闹。 唐韧的用户群是互联网产品经理,阅读量…

小猫咪的奇幻冒险:一个简单的Python小游戏

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、游戏简介与演示 二、游戏开发与运行 1. 环境搭建 2. 代码解析 3. 加速机制 三、游戏…

油猴插件刷学习通

油猴插件刷学习通 edge浏览器 浏览器进入这个网址https://microsoftedge.microsoft.com/addons/search/%E6%B2%B9%E7%8C%B4tampermonkey?hlzh-CN。 点我自动进入 点那个绿色的,点击获取 油猴插件下载在了这里 找到油猴图标,获取新脚本。 安装 …

DPDK实践之(1)dpdk基础使用

DPDK实践之(1)dpdk基础使用 Author: Once Day Date: 2024年5月19日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文档可参考专栏:Linux基础知识_Once…

Unity Terrain Adjust插件使用教程

一、Terrain Adjust插件介绍 二、插件下载以及导入 1、官方下载地址:Terrain Adjust 2、积分下载地址:Terrain Adjust 下载好之后,回到Unity当中,导入下载好之后的unitypackage包 三、插件使用 1、在使用之前一定要在场景中新…

【数据结构】二叉树的功能实现

文章目录 关于二叉树的创建如何创建二叉树实现二叉树的前、中、后序遍历层序遍历 关于二叉树的创建 在笔者的上一篇文章中堆进行了一个详细介绍,而二叉树是以堆为基础进行创建,它与堆的显著不同是 堆像是一个线性结构,堆的结构往往是一个数…

刷题之寻找重复数(leetcode)

寻找重复数 这题实际上就是变形的环形链表Ⅱ&#xff0c;下标为index的下一个元素是nums[index]&#xff0c;下下一个元素是nums[nums[index]] class Solution { public:int findDuplicate(vector<int>& nums) {int fast0;int slow0;while(1){fastnums[nums[fast]]…

力扣第141题和142题-环形链表,是否有环,环的入口节点

因这2道题均不改变链表结构&#xff0c;所以可以不创建新的临时头结点 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ bool hasCycle(struct ListNode *head) {if(headNULL||head->nextNULL)//若只有一个数…