掌握聚合函数:COUNT,MAX,MIN,SUM,AVG,GROUP BY和HAVING子句的用法,Where和HAVING的区别

对于Java后端开发来说,必须要掌握常用的聚合函数:COUNT,MAX,MIN,SUM,AVG,掌握GROUP BY和HAVING子句的用法,掌握Where和HAVING的区别:

✅ 一、常用聚合函数(聚合函数用于统计汇总数据)

聚合函数作用示例
COUNT()统计记录条数SELECT COUNT(*) FROM 表名
MAX()求最大值SELECT MAX(价格) FROM 商品
MIN()求最小值SELECT MIN(价格) FROM 商品
SUM()求总和SELECT SUM(数量) FROM 订单
AVG()求平均值SELECT AVG(价格) FROM 商品

✅ 二、GROUP BY 子句(用于分组统计)

GROUP BY 将数据按照某个字段进行分组,并配合聚合函数使用。

示例:

SELECT 部门, AVG(薪资)
FROM 员工
GROUP BY 部门;

含义:按“部门”分组,统计每个部门的平均薪资。


✅ 三、HAVING 子句(对分组后的数据进行过滤)

  • WHERE 是在 分组前 对原始数据进行过滤。
  • HAVING 是在 分组后 对聚合结果进行过滤。

示例:

SELECT 部门, AVG(薪资) AS 平均薪资
FROM 员工
GROUP BY 部门
HAVING AVG(薪资) > 8000;

含义:先按部门分组,再筛选平均薪资大于8000的部门。


✅ 四、WHERE 和 HAVING 的区别总结:

对比项WHEREHAVING
作用阶段分组前(原始数据)分组后(聚合结果)
是否能用聚合函数❌不能✅可以
示例WHERE 薪资 > 5000HAVING AVG(薪资) > 8000

✅ 五、综合示例

假设我们有一个员工表 employees

idnamedepartmentsalary
1张三IT8000
2李四HR6000
3王五IT9000
4赵六HR5000
5孙七Sales7000

查询平均工资大于7000的部门及其平均工资:

SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 7000;

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

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

相关文章

无人机飞行间隔安全智能评估、安全风险评估

无人机空中安全飞行评估需结合改进碰撞模型、蒙特卡洛仿真、安全间隔反推及动态避障策略,通过多机型分类与实时数据融合,实现从理论建模到实际部署的全流程管控,为城市低空密集飞行提供安全保障。 需求 无人机飞行间隔安全智能评估 无人机…

pdf图片导出(Visio和Origin)

一、Visio 导入pdf格式图片 1. 设计->大小,适应绘图。 2. 文件->导出,导出为pdf格式。 上面两部即可得到只包含图的部分的pdf格式。 如果出现的有默认白边,可以通过以下方式设置: 1. 文件->选项->自定义功能区->…

实现一个带有授权码和使用时间限制的Spring Boot项目

生成和验证授权码记录授权时间和过期时间实现授权逻辑 以下是具体的实现方法: 1. 生成和验证授权码 可以使用加密技术生成和验证授权码。授权码中可以包含有效期等信息,并使用密钥进行签名。 示例代码: java复制代码 import javax.crypt…

官方SDK停更后的选择:开源维护的Bugly Unity SDK

腾讯Bugly,为移动开发者提供专业的异常上报和运营统计,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。 但是,免费版的Unity SDK已经很久不更新了,会有一些问题和特性缺失&#xff…

Spring Boot分页查询进阶:整合Spring Data REST实现高效数据导航

目录: 引言分页查询基础回顾 2.1 Spring Data JPA分页接口 2.2 Pageable与Page的使用 2.3 常见分页参数设计Spring Data REST简介 3.1 HATEOAS与超媒体驱动API 3.2 Spring Data REST核心功能 3.3 自动暴露Repository接口整合Spring Boot与Spring Data REST 4.1 项目…

[Datagear] [SQL]实现分组统计同时带汇总行的两种方式对比分析

在进行数据可视化开发时,我们经常会遇到用户提出的需求:除了展示按某字段分组统计的数据外,还希望看到一个“整体总计”的数据行。这种汇总行在报表、图表展示中极为常见,可以帮助用户快速理解全局数据水平。 实现这一功能的方法主要有两种:一种是使用 SQL 的 GROUP BY ..…

Docker常用命令介绍

Docker常用命令 1、本地镜像管理 save 命令 将一个或多个 Docker 镜像保存到一个 tar 归档文件中,以便在其他环境中分发或备份。 # 语法:docker save [OPTIONS] IMAGE [IMAGE...]# 保存单个镜像到文件 docker save -o myimage.tar myimage:latest# 保…

09 接口自动化-用例管理框架pytest之allure报告定制以及数据驱动

文章目录 一、企业级的Allure报告的定制左边的定制:右边的定制:1.用例的严重程度/优先级2.用例描述3.测试用例连接的定制4.测试用例步骤的定制5.附件的定制 二、企业中真实的定制有哪些?三、allure报告如何在本地访问四、allure中的数据驱动装…

DDoS防护实战——从基础配置到高防IP部署

一、基础防护:服务器与网络层加固 Linux内核优化: 调整TCP协议栈参数,缓解SYN Flood攻击: # 启用SYN Cookie并减少超时时间 echo 1 > /proc/sys/net/ipv4/tcp_syncookies echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout…

华为云Flexus+DeepSeek征文|Flexus云服务器Dify-LLM资源部署极致体验Agent

前引:重磅来袭!本次以DeepSeek-V3/R1商用大模型和Dify-LLM应用平台一键部署为核心,专为新手打造“开箱即用”的AI开发体验。无论你是想快速搭建企业级AI应用,还是探索大模型落地的无限可能,只需跟随小编实现三步走&…

SQLAlchemy 2.0 查询使用指南

SQLAlchemy 2.0 查询使用指南 1. 环境设置 首先,需要安装 SQLAlchemy 2.0 版本。假设你使用的是 SQLite 数据库,可以通过以下命令安装 SQLAlchemy: pip install sqlalchemy接着,我们创建数据库连接并初始化会话: f…

Windows 使用 WSL 安装 Ubuntu

一,前言 Windows 上轻松跑 Linux 又不想用笨重的VMware 和VirtualBox ,怎么办? 开源项目 Windows Subsystem for Linux (WSL)。它解决了许多开发者在 Windows 和 Linux 间切换的痛点,实现在 Windows 上无缝跑 Linux 工具和命令。…

[Excel VBA]如何製作買三送一優惠條件的POS結帳介面?

Excel I VBA I 買三送一優惠條件的POS結帳機 因應商品特賣活動,結帳介面需整合特定優惠條件,如買三送一,買五送二等等優惠條件。本文封面影片以買三送一為範例,並搭配VBA和對應按鈕,而實現銷售訂單紀錄和即時更新庫存等…

3d世界坐标系转屏幕坐标系

世界坐标 ——> NDC标准设备坐标 ——> 屏幕坐标 标准设备NDC坐标系 屏幕坐标系 .project方法将 将向量(坐标)从世界空间投影到相机的标准化设备坐标 (NDC) 空间。 手动实现HTML元素定位到模型位置,实现模型标签效果(和css2Render原理同理&#…

Idea出现 100% classes 等

总是误点出来,每次又忘了怎么消除,在这里记录一下。 出现这样: 操作idea界面的:点击View->Tool Windows ->Coverage,然后关掉

从零开始学习QT——第一步

一、Qt 1.1、Qt是什么 Qt是一个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供建立图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。 1.2、Qt的发展历程 1991年 Qt最早由芬兰奇趣科技开发 1996年 进入商业…

MySQL 8.0 OCP 1Z0-908 171-180题

Q171.Examine this MySQL client command to connect to a remote database: mysql-h remote-example.org-u root–protocolTCP–ssl-mode Which two–ss1-mode values will ensure that an X.509-compliant certificate will be used to establish the SSL/TLS connection to …

【机器学习】 关于外插修正随机梯度方法的数值实验

1. 随机梯度下降(SGD) 迭代格式: x k 1 x k − η k ∇ f i ( x k ) x_{k1} x_k - \eta_k \nabla f_i(x_k) xk1​xk​−ηk​∇fi​(xk​) 其中, η k \eta_k ηk​ 为步长(可能递减), ∇ f…

每日c/c++题 备战蓝桥杯(洛谷P3382 三分法求极值详解)

洛谷P3382 三分法求极值详解 题目描述 P3382 三分法 要求在给定区间内寻找一个多项式函数的最大值点。题目保证函数在区间内先严格递增后严格递减(单峰函数),适合使用三分法求解。 算法原理 三分法核心思想 对于单峰函数,在区…

[Windows] 一键实现重复工作自动化zTasker

zTasker,是一款定时|热键|纯粹的自动化任务神器。它支持超过100种任务类型,包括提醒、关机重启、报时、挡屏休息、文件备份、音量调节、静音等。用户可以通过定时、CPU占用、文件夹监控、网速、快捷键等多种条件触发任务。 简单点…