【MySQL】汇总数据

news2024/9/20 8:06:41

目录

一、聚集函数

1.AVG()参数

2.COUNT()函数

3.MAX()函数

4.MIN()函数

5.SUM()函数

二、聚集不同值

三、组合聚集函数


一、聚集函数

聚集函数:运行在行组上,计算和返回单个值的函数,用来汇总数据

                                                    SQL聚集函数

AVG()返回某列的平均值
COUNT()返回某列的行数
MAX()返回某列的最大值
MIN()

返回某列的最小值

SUM()返回某列值之和

1.AVG()参数

        AVG()通过对表中行数计数并计算特定列值之和,求得该列的平均值。AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。

示例:在表t_goods中算出price的平均值放在avg_price列中,avg_price是一个别名

输入: select AVG(price)

           as avg_price

           from t_goods;

输出:

 AVG()也可以用来确定特定列或行的平均值。

示例:包含where子句,约束vend_id = 2的产品

输入:select AVG(prod_price)

           as avg_price

           from products

           where vend_id = 2;

输出:

 注意:AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出。为了获得多个列的平均值,必须使用多个AVG()函数。

NULL值:AVG()函数忽略列值为NULL的行。

2.COUNT()函数

COUNT()函数进行计数。确定表中行的数目或符合特定条件的行的数目

COUNT()函数的两种表示方式:

  • 使用COUNT(*)对表中行的数目进行计数,不管表列中包含的时空值
  • 使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。

示例:根据name计算t_user表中的人员总数

输入:select COUNT(*)

           as name

           from t_user;

输出:

 NULL值:如果指定列名,则指定列的值为空的行被COUNT()函数省略,但如果COUNT()函数中用的是(*),则不忽略。

3.MAX()函数

MAX()函数返回指定列中的最大值。MAX()要求指出列名。

示例:在表t_goods中找到price列的最大值

输入:select MAX(price) 

           as MAX_price

           from t_goods;

输出:

 注意:对非数值数据使用MAX()函数   虽然MAX()函数一般用来找出最大的数值或日期值,

但MySQL允许将它用来返回任意列中的最大值,包括返回文本列中的最大值。在用于文本数据时,如果数据按相应的列排序,则MAX()返回最后一行。

NULL值:MAX()函数忽略列值为NULL的行

4.MIN()函数

MIN()函数与MAX()函数的功能正好相反,它返回指定列的最小值。要求指定列名。

示例:在表t_goods中找到price列的最小值

输入: select MIN(price)

           as MIN_price

           from t_goods;

输出:

 

 注意:MySQL允许将MIN()用来返回任意列中的最小值,包括返回文本列中的最小值。在用于文本数据时,如果数据按相应的列排序,则MAX()返回最前面的行。

NULL值:MAX()函数忽略列值为NULL的行

5.SUM()函数

SUM()函数用来返回指定列值的总和。

示例:在表t_goods中计算price的总和并放在SUM_price列中

输入:select SUM(price)  

           as SUM_price

           from t_goods;

输出:

 SUM()也可以用来计算合计计算值。

NULL值:MAX()函数忽略列值为NULL的行

二、聚集不同值

以上五个函数都可以都可以如下使用:

  1. 对所有的行执行计算,指定ALL参数或不给参数(因为ALL是默认行为)
  2. 只包含不同的值,指定DISTINCT参数

distinct的作用就是去重

注意:如果指定列名,则distinct只能用于count()。distinct不能用于count(*),因此不允许使用count(distinct),否则会产生错误。类似的,distinct必须使用列名,不能用于计算或表达式。

将distinct用于MAX和MIN函数   虽然技术上可以用在这俩个函数上,但是没有实际价值,最大值和最小值不管是否包含不同值都是相同的。

三、组合聚集函数

        目前为止的所有聚集函数例子都只涉及单个函数。但实际上select语句可根据需要包含多个聚集函数。

示例:在t_goods中找出price的数量以及最大值,最小值,平均值

输入:select count(*) as price,

                     MAX(price) as MAX_price,

                    MIN(price) as MIN_price,

                    AVG(price) as AVG_price

            from t_goods;

输出:

 取别名:在指定别名以包含某个聚集函数的结果时,不应该使用表中的实际列名。这样做使SQL更易于理解和使用。

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

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

相关文章

【100天精通python】Day30:使用python操作数据库_数据库基础入门

专栏导读 专栏订阅地址:https://blog.csdn.net/qq_35831906/category_12375510.html 1 数据库基础知识介绍 1.1 什么是数据库? 数据库是一个结构化存储和组织数据的集合,它可以被有效地访问、管理和更新。数据库的目的是为了提供一种可靠的…

go-admin解读1goLand debug 快捷编译重启配置

** goLand debug &快捷编译重启配置 **

一文读懂ISO27701

引言 隐私暴露,大数据营销杀熟、骚扰信息不断……越来越多的数据泄露与威胁影响全球人类的安宁生活。在此背景下,各个国家、地区纷纷出台相关法律法规,对数据安全与隐私保护相关问题进行严格规范与引导。目前常见的有中国的个人信息保护法、…

Three.js 设置模型材质纹理贴图和修改材质颜色,材质透明度,材质网格

相关API的使用: 1 traverse (模型循环遍历方法) 2. THREE.TextureLoader(用于加载和处理图片纹理) 3. THREE.MeshLambertMaterial(用于创建材质) 4. getObjectByProperty(通过材…

[保研/考研机试] KY180 堆栈的使用 吉林大学复试上机题 C++实现

题目链接: 堆栈的使用_牛客题霸_牛客网 描述 堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。其中 push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。 输入描述: 对于…

Flink窗口分类简介及示例代码

水善利万物而不争,处众人之所恶,故几于道💦 文章目录 1. 流式计算2. 窗口3. 窗口的分类◆ 基于时间的窗口(时间驱动)1) 滚动窗口(Tumbling Windows)2) 滑动窗口(Sliding Windows&…

发现 Kubernetes 集群受到攻击

Aqua Security 的研究团队 Aqua Nautilus 发现数百个组织的 Kubernetes 集群受到攻击。 这位云原生安全专家宣布,一项为期三个月的调查显示,属于 350 多个组织、开源项目和个人的 Kubernetes 集群可公开访问且不受保护。 一个值得注意的集群子集与大型…

交流有效值,峰值和平均值关系

1,交流有效值,峰值和平均值关系: 2,根据负载,确定变压器满载时的输出电压: 1),为了使稳压芯片MIC29302输出4V,LDO压差 0.4V,整流桥压降为1V, 则…

新品发布会上出现国风数字人?写实数字人定制技术助推品牌引领年轻消费市场潮流

在小牧优品新品发布会上推出首位国风数字人潇沐,这是为了让年轻化、时尚化品牌特质更加呈现出来,聚焦年轻消费市场的一大战略。品牌结合虚拟形象3d建模技术,打造出符合品牌专属数字人,并且结合了动作捕捉技术打破行业交流壁垒&…

深度优先搜索与动态规划|543, 124, 687

深度优先搜索与动态规划|543. 二叉树的直径,124. 二叉树中的最大路径和,687. 最长同值路径 二叉树的直径二叉树中的最大路径和最长同值路径 二叉树的直径 好久没写二叉树了,主要还是看遍历的顺序是什么样的。 # Definition for a binary tr…

模拟出栈的所有顺序(dfs+回溯)

题目: 已知某一个字母序列,把序列中的字母按出现顺序压入一个栈,在入栈的任意过程中,允许栈中的字母出栈,求所有可能的出栈顺序 示例: 输入abc 输出abc、acb、bac、bca、cba 代码如下 #define _CRT_SECURE…

人工智能术语翻译(六)

文章目录 摘要UVWXYZ 摘要 人工智能术语翻译第六部分,包括U、V、W、X、Y、Z开头的词汇! U 英文术语中文翻译常用缩写备注Ugly Duckling Theorem丑小鸭定理Unbiased无偏Unbiased Estimate无偏估计Unbiased Sample Variance无偏样本方差Unconstrained …

微服务与Nacos概述-2

微服务间消息传递 微服务是一种软件开发架构,它将一个大型应用程序拆分为一系列小型、独立的服务。每个服务都可以独立开发、部署和扩展,并通过轻量级的通信机制进行交互。 应用开发 common模块中包含服务提供者和服务消费者共享的内容 provider模块是…

【数学】CF1796 C

Problem - 1796C - Codeforces 题意&#xff1a; 思路&#xff1a; 模拟一下样例可以发现一些规律 Code&#xff1a; #include <bits/stdc.h>#define int long longusing i64 long long;constexpr int N 1e6 10; constexpr int mod 998244353;void solve() {int l…

搭建 Java 部署环境

yum 认识 yum yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上. 包管理器就好比 "应用商店", 我们可以在应用商店上下载一些 app. yum 起到的功能和 Maven 的依赖管理功能类似. 使用 Maven 能帮…

kubernetes pod 资源限制 探针

资源限制 当定义 Pod 时可以选择性地为每个容器设定所需要的资源数量。 最常见的可设定资源是 CPU 和内存大小&#xff0c;以及其他类型的资源。 当为 Pod 中的容器指定了 request 资源时&#xff0c;代表容器运行所需的最小资源量&#xff0c;调度器就使用该信息来决定将 Pod …

JS逆向系列之猿人学爬虫第8题-验证码-图文点选

题目地址 https://match.yuanrenxue.cn/match/8本题的难点就在于验证码的识别,没啥js加密,只要识别对了携带坐标就给返回数据 回过头来看验证码 这里复杂的字体比较多,人看起来都有点费劲(感觉可能对红绿色盲朋友不太又好)&#x

为什么说Java是值传递?

值传递、引用传递 首要我们需要明确什么是值传递、什么是引用传递。 值传递&#xff1a;形参接收的是实参的拷贝&#xff08;副本&#xff09;。因此对形参的修改&#xff0c;不一定会影响实参。引用传递&#xff1a;形参接收的是实参本身&#xff0c;不会创建副本。因此对形…

flutter 手写日历组件

先看效果 直接上代码 calendar_popup_view.dart import package:flutter/material.dart; import package:intl/intl.dart;import custom_calendar.dart; import hotel_app_theme.dart;class CalendarPopupView extends StatefulWidget {const CalendarPopupView({required th…

翻出了我当时学习的笔记来了html

php&#xff1a;高级语言 web应用程序 万维网 浏览器中查看 apache&#xff1a;服务器 mysql&#xff1a;数据库 html 标签 css&#xff1a;层叠样式表 javascript&#xff1a;客户端脚本 js jquery mysql数据库基础 php语法基础 面向对象&#xff08;物件&#xff09; smar…