10个必知必会的SQL聚合函数

掌握十大必备的SQL聚合函数,助你成为数据分析高手!

目录

  • 掌握十大必备的SQL聚合函数,助你成为数据分析高手!
      • 1. COUNT():计算表中行的数量
      • 2. SUM():计算表中某个数值列的总和
      • 3. AVG():计算表中某个数值列的平均值
      • 4. MAX():找出表中某个数值列的最大值
      • 5. MIN():找出表中某个数值列的最小值
      • 6. GROUP_CONCAT():将表中某个字符串列的值连接起来
      • 7. DISTINCT():找出表中某个列的唯一值
      • 8. HAVING:用于过滤GROUP BY子句的结果
      • 9. RANK():计算指定列的排名
      • 10. FIRST()和LAST():用于返回组内的第一个和最后一个非NULL值

当处理数据时,SQL聚合函数是非常有用的工具,它们允许我们对数据进行汇总和计算。下面是十个必知必会的SQL聚合函数:

1. COUNT():计算表中行的数量

语法:SELECT COUNT(*) AS total_rows FROM table_name;
案例:假设我们有一个名为"customers"的表,其中有一个"customer_id"列用于标识不同的客户。我们可以使用COUNT()函数来计算总客户数:

SELECT COUNT(customer_id) AS total_customer FROM customers;  -- as可省略

2. SUM():计算表中某个数值列的总和

语法:SELECT SUM(column_name) AS total_sum FROM table_name;
案例:假设我们有一个名为"sales"的表,其中有一个"amount"列表示每笔销售的金额。我们可以使用SUM()函数来计算总销售额:

SELECT SUM(amount) FROM sales;

3. AVG():计算表中某个数值列的平均值

语法:SELECT AVG(column_name) AS average_value FROM table_name;
案例:继续使用上面的"sales"表,我们可以使用AVG()函数来计算平均销售额:

SELECT AVG(amount) FROM sales;

4. MAX():找出表中某个数值列的最大值

语法:SELECT MAX(column_name) AS max_value FROM table_name;
案例:假设我们有一个名为"products"的表,其中有一个"price"列表示每个产品的价格。我们可以使用MAX()函数来找到最高价格的产品:

SELECT MAX(price) FROM products;

5. MIN():找出表中某个数值列的最小值

语法:SELECT MIN(column_name) AS min_value FROM table_name;
案例:继续使用上面的"products"表,我们可以使用MIN()函数来找到最低价格的产品:

SELECT MIN(price) FROM products;

6. GROUP_CONCAT():将表中某个字符串列的值连接起来

语法:SELECT GROUP_CONCAT(column_name SEPARATOR ', ') AS merged_values FROM table_name;
案例:假设我们有一个名为"orders"的表,其中有一个"product_name"列表示每个订单中所购买的产品的名称。我们可以使用GROUP_CONCAT()函数将所有产品名称连接为一个字符串:

ELECT GROUP_CONCAT(product_name) FROM orders;

7. DISTINCT():找出表中某个列的唯一值

语法:SELECT DISTINCT column_name FROM table_name;
案例:假设我们有一个名为"employees"的表,其中有一个"department"列表示员工所在的部门。我们可以使用DISTINCT()函数找出所有不同的部门:

SELECT DISTINCT(department) FROM employees;

8. HAVING:用于过滤GROUP BY子句的结果

语法:SELECT column_name, COUNT(*) AS count FROM table_name GROUP BY column_name HAVING count > 5;
案例:假设我们使用GROUP BY和SUM()函数来计算每个部门的总销售额,然后使用HAVING子句筛选出销售额大于100000的部门:

SELECT department, SUM(amount) FROM sales GROUP BY department HAVING SUM(amount) > 100000;

9. RANK():计算指定列的排名

它会为每一行赋予一个排名值,根据列的值进行排序。使用RANK()函数的示例如下:

SELECT column1, column2, RANK() OVER (ORDER BY column3) AS ranking
FROM your_table;

在上面的示例中,你需要替换以下内容:

  • column1, column2:要查询的列名。
  • your_table:要查询的表名。
  • column3:用于排序和计算排名的列名。

RANK()函数必须结合OVER子句和ORDER BY子句使用。ORDER BY子句用于指定按照哪一列的值进行排序。然后,RANK()函数将会为每一行赋予一个排名值,并将结果作为ranking列返回。

注意,如果存在并列的值,RANK()函数会给这些值赋予相同的排名,然后跳过下一个排名。例如,如果有两个值排名第三,那么下一个值的排名将会是第五。

10. FIRST()和LAST():用于返回组内的第一个和最后一个非NULL值

这两个函数通常与GROUP BY子句一起使用,以指定组的范围。使用FIRST()函数和LAST()函数的示例:

SELECT group_column, FIRST(column) AS first_value, LAST(column) AS last_value
FROM your_table
GROUP BY group_column;

案例:假设我们有一个名为"orders"的表,其中有一个"order_date"列表示订单的日期。我们可以使用FIRST()和LAST()函数找出第一个和最后一个订单的日期:

SELECT FIRST(order_date), LAST(order_date) FROM orders GROUP BY order_date;

以上是十个常用的SQL聚合函数,掌握它们将有助于你更有效地分析和处理数据。

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

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

相关文章

隐马尔可夫模型(HMM) |暴力算法 |一个简单的例子说清计算过程 |一般步骤总结

如是我闻: 本文通过一个简单的例子来详细说明隐马尔可夫模型(HMM)的暴力算法 我们求解的问题是:给定模型及观测序列计算其出现的概率。 隐马尔可夫模型由三个主要部分组成: 隐藏状态集合观测状态集合以及三个概率矩阵(状态转移概率矩阵、观…

24计算机考研调剂 | 中科院(深圳)

2024中科院深圳方鹏课题组考研调剂招生信息发布(0854电子/计算机/生医工/0856材料) 考研调剂招生信息 学校:中科院 专业:工学->电子科学与技术 年级:2024 招生人数:3 招生状态:正在招生中 联系方式:********* (为保护个人隐私,联系方式仅限APP…

window安装Docker

Windows上安装Docker 安装Docker的大体上的步骤 需要打开hyper-v 为什么要打开Hyper-v? 在Windows 10上安装Docker需要打开Hyper-V,主要是因为Docker上的Windows容器可以在两种不同的运行时隔离模式下运行:进程隔离和Hyper-V隔离。尽管在未使…

第十五单元日考技能

文章目录 第十五单元1.编写一个基于对象的程序,求长方体的体积,要求:2.编写strcpy函数(10分)3.建立一个类String,连接两个字符串后。具体要求: 第十五单元 1.编写一个基于对象的程序,求长方体的…

《详解:鸿蒙NEXT开发核心技术》

我们现在都知道鸿蒙作为一个国产的全栈自研系统,经过国家主推后。已经引起人们很大的关注,其中作为开发者来说;许多一线大厂已经与其华为鸿蒙展开原生应用的合作了,目前了解到已经有200家。而之后出现了很多的高薪鸿蒙开发岗位&am…

【数据库-黑马笔记】基础-SQL

本文参考b站黑马数据库视频,总结详细全面的笔记 ,可结合视频观看1~26集 MYSQL 的基础知识框架如下 目录 一、MYSQL概述 1、数据库相关概念 2、MYSQL的安装及启动 二、SQL 1、DDL【Data Defination】 2、DML【Data Manipulation】 ①、插入 ②、更新和删除 3、 DQL【Data…

DAY by DAY 史上最全的Linux常用命令汇总----history游览历史

history游览历史 当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来 history保留了最近执行的命令记录,默认可以保留1000。 历史清单从0开始编号到最大值。 常见用法: history N 显示最近…

Linux本地搭建FastDFS系统

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

Redis 中的 redis-cli 详解和参数介绍

redis-cli 要了解redis-cli的全部参数, 可以执行 redis-cli-help 命令来进行查看 -r -r(repeat) 选项代表将命令执行多次 例如下面操作将会执行三次 ping 命令 $ redis-cli -r 3 ping PONG PONG PONG -i -i(interval&…

320: 鸡兔同笼(python)

题目描述 一个笼子里关了鸡和兔(鸡有2只脚,兔又4只脚,没有例外)。已知笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物? 输入 多组测试数据。第一行是测试数据的组数n&#…

nginx多级代理配置获取客户端真实ip

流量路径 #mermaid-svg-NX785p8k6RVBngHY {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-NX785p8k6RVBngHY .error-icon{fill:#552222;}#mermaid-svg-NX785p8k6RVBngHY .error-text{fill:#552222;stroke:#552222;}#…

jenkins部署go应用 基于docker-compose

丢弃旧的的构建 github 拉取代码 指定go的编译版本 安装插件 拉取代码是排除指定的配置文件 比如 conf/config.yaml 文件 填写配置文件内容 比如测试环境一些主机信息 等 可以配置里面 构建的时候选择此文件替换开发提交的配置文件。。。。 编写docker-compose 文件 docker…

android metaRTC编译

参考文章: metaRTC3.0稳定版本编译指南_metartc 编译-CSDN博客 源码下载: Releases metartc/metaRTC GitHub 版本v6.0-b4即可

短视频解析接口分发系统

宝塔面板:Nginx系统 php7.2 Mysql 5.6-5.7 伪静态Thinkphp 上传文件直接访问域名安装即可 可以自备 听说后边要出saas去水印小程序 下载地址:https://pan.xunlei.com/s/VNskSEelfRVIzoSm5P5Rcw34A1?pwdqzhh# 接口演示: 前端演示…

C#编写函数

C#函数是一段可重复使用的代码块,用于执行特定的任务。它们可以接受输入参数并返回结果。在C#中,函数定义包括函数名、返回类型、参数列表和函数体。 public static int Add(int a, int b) {int sum a b;return sum; }在这个示例中,函数名…

解决ipconfig不是内部或外部命令,也不是可运行的程序或批处理文件

问题所示:ipconfig不是内部或外部命令,也不是可运行的程序或批处理文件。 解决办法如下: 1.右击此电脑,点击属性设置: 2.点击高级系统设置 3.点击进入环境变量 4.在系统变量中进行设置,双击PATH进行配置 5.点击新建&am…

2024-Android大厂(字节跳动,腾讯

PS:全文点击蓝色文字,即可跳转链接 【字节面试官:看了3000多份简历,面试1000场后,想给金九银十找工作的程序员几点建议附大厂真题面经】 本文主要介绍校招,上半年疫情原因真正面试的时间和机会也不多&#…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的零售柜商品检测软件(Python+PySide6界面+训练代码)

摘要:开发高效的零售柜商品识别系统对于智能零售领域的进步至关重要。本文深入介绍了如何运用深度学习技术开发此类系统,并分享了全套实现代码。系统采用了领先的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5进行了性能比较,呈现了诸如…

FDU 2021 | 二叉树关键节点的个数

文章目录 1. 题目描述2. 我的尝试 1. 题目描述 给定一颗二叉树,树的每个节点的值为一个正整数。如果从根节点到节点 N 的路径上不存在比节点 N 的值大的节点,那么节点 N 被认为是树上的关键节点。求树上所有的关键节点的个数。请写出程序,并…

最新CLion + STM32 + CubeMX 开发环境搭建

网上有不少相关教程,但都是基于老版本Clion,新版有一些改变,但整体是简单了。 PS:本教程基于CLion 2023.3.4 安装所需工具参考:Clion搭建stm32开发环境(STM32F103C8T6),有这一篇就够…