Navicat 技术干货 | 聚合查询的介绍

基础 SQL 查询可以检索、插入、更新和删除记录,而聚合查询可通过提供求和、平均值或最大/最小值等的大型结果集,将数据库交互提升到一个新的水平。本文中,我们将探索聚合 SQL 查询的基础知识,并研究如何有效的利用他们来分析和汇总数据。

理解聚合函数

SQL 中的聚合函数对行数据进行操作并返回单个值作为输出。当需要对数据库的数据执行计算时,这些函数是非常有用的。一些常用的聚合函数包括:

1. COUNT()

COUNT() 函数计算满足指定条件的行数。可用于计算所有行或满足特定条件的行。

        
SELECT COUNT(*) AS total_records FROM employees;

2. SUM()

SUM() 函数计算数值列的总和。

        
SELECT SUM(salary) AS total_salary FROM employees;

3. AVG()

AVG() 函数用于确定数值列的平均值。

        
SELECT AVG(age) AS average_age FROM students;

4. MAX() 和 MIN()

MAX() 和 MIN() 函数分别用于定义一个列中的最大值和最小值。

        
SELECT MAX(price) AS max_price, MIN(price) AS min_price FROM products;

使用 GROUP BY 分组数据

SQL 聚合查询的一个强大能力是使用 GROUP BY 子句基于特定条件分组数据。这有助于对数据子集进行分析,从而获得更深入的了解数据。

使用 COUNT() 分组)

        
SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;

使用 AVR() 分组

        
SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department;

使用 HAVING 进行分组筛选

HAVING 子句与 GROUP BY 一起使用,用于对基于条件的分组数据的聚合查询结果进行筛选。

        
SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;

聚合函数的组合使用

SQL 允许在单个查询中组合使用多个聚合函数,以便更全面的了解数据。

        
SELECT department, COUNT(*) AS employee_count, AVG(salary) AS average_salary
FROM employees
GROUP BY department;

在 Navicat 中使用聚合函数

如果你不确定函数的准确名字或其输入参数,你可以在 SQL 编辑器中输入一部分,然后 Navicat 将显示一个匹配项的列表,你可以从中选择一个,Navicat 会动补全语句。聚合函数是用希腊 Sigma 符号表示 (Σ):

AVG_function_in_autocomplete_list (57K)

总结

聚合 SQL 查询是在关系数据库中数据分析和数据报告的不可或缺的工具。无论你是要汇总信息、计算平均值,或是基于特定条件分组数据,了解如何利用聚合函数以及像 GROUP BY 和 HAVING 这样的子句,对于熟练的数据库查询是至关重要的。如果你想边学边用,欢迎点击 这里 下载 Navicat Premium 全功能试用版。

往期回顾 

Navicat 16 已支持 Redis

Navicat 16 已支持华为云 GaussDB

Navicat 16 已支持蚂蚁集团 OceanBase 全线数据库

Navicat 常见技术教程

Navicat 入选中国信通院发布的《中国数据库产业图谱(2023)》 

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

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

相关文章

Spring相关重点API

一:ApplicationContext的继承体系 ApplicationContext:接口类型,代表应用上下文,可以通过其实例获得Spring容器中的Bean对象 二:ApplicationContext的实现类 1:ClassPathXmlApplicationContext 它是从类的根路径下…

[C#]C# OpenVINO部署yolov8-pose姿态估计模型

【源码地址】 github地址:https://github.com/ultralytics/ultralytics 【算法介绍】 Yolov8-Pose算法是一种基于深度神经网络的目标检测算法,用于对人体姿势进行准确检测。该算法在Yolov8的基础上引入了姿势估计模块,通过联合检测和姿势…

扎心!圣诞礼物含“毒”量极高,当心惊喜变惊吓!

圣诞快乐? 近日,亚信安全截获多起以“圣诞礼物”为钓鱼邮件的间谍木马病毒,名为RedLine。 RedLine通常是通过钓鱼邮件或挂马网站进行传播。钓鱼邮件更多的是利用社会工程学,“蹭热点”、节日祝福和节日福利是攻击者经常使用的社工…

FreeRTOS——优先级翻转

1.优先级翻转概念 优先级翻转:高优先级的任务反而慢执行,低优先级的任务反而优先执行 注意:在实时操作系统中不允许出现,在二值信号量中经常出现 2.优先级翻转实战 2.1freertos_demo.c #include "freertos_demo.h" #i…

快速学习SpringBoot

SpringBoot springboot传统方式构建spring应用程序使用springboot子项目构建起步依赖自动配置其它特性 SpringBoot项目部署Spring项目部署属性配置方式命令行参数方式配置环境变量方式外部配置文件方式 多环境开发-Pofiles多环境开发分组 springboot 传统方式构建spring应用程…

Kubeadmin实现k8s集群:

Kubeadmin来快速搭建一个k8s集群: 二进制搭建适合大集群,50台以上的主机, 但是kubeadm更适合中小企业的业务集群 环境: Master:20.0.0.71 2核4G 或者4核8G docker kubelet kubectl flannel Node1:20.…

案例072:基于微信小程序的会议发布与预约系统的设计与开发

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

Unity中URP下的线性雾

文章目录 前言一、线性雾 雾效因子二、MixFog1、ComputeFogIntensity 雾效强度计算2、雾效颜色混合 lerp(fogColor, fragColor, fogIntensity); 前言 在之前的文章中,我们实现了URP下的雾效支持。 Unity中URP下的添加雾效支持 在上一篇文章中,我们解析了 URP 下统…

OSPF被动接口配置-新版(14)

目录 整体拓扑 操作步骤 1.基本配置 1.1 配置R1的IP 1.2 配置R2的IP 1.4 配置R4的IP 1.5 配置R5的IP 1.6 配置PC-1的IP地址 1.7 配置PC-2的IP地址 1.8 配置PC-3的IP地址 1.9 配置PC-4的IP地址 1.10 检测R1与PC3连通性 1.11 检测R2与PC4连通性 1.12 检测R4与PC1连…

[雷池WAF]长亭雷池WAF配置基于健康监测的负载均衡,实现故障自动切换上游服务器

为了进一步加强内网安全,在原有硬WAF的基础上,又在内网使用的社区版的雷池WAF,作为应用上层的软WAF。从而实现多WAF防护的架构。 经过进一步了解,发现雷池WAF的上游转发代理是基于Tengine的,所以萌生出了一个想法&…

实战环境搭建-安装xshell和xftp

安装xshell和xftp的原因是想远程虚拟机,很多时候,直接去操作虚拟机明显不太方便。 所以,我们需要一个能够搭载虚拟机和本地电脑之间的桥梁,哪怕是你们去了企业,也和这个类似,唯一的区别是企业里面更多连接…

希亦、觉飞、小吉三款婴儿洗衣机大比拼!全方位对比测评

由于年龄幼小的婴儿的皮肤都非常的幼嫩,因此婴儿衣物材质的类型大部分都是采用为纯棉,并且婴儿的衣物不能够与大人的衣物一起进行混洗,容易把细菌感染到宝宝的衣物上,因此很多家庭为了保证宝宝衣服的有效清洁,避免交叉…