IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据库聚合函数 -> 正文阅读

[大数据]数据库聚合函数

1. 常用函数

常用函数这里就不过多的阐述和演示,大家感兴趣的话,可以去官网看

官网地址:MySQL :: Developer Zone

我们主要讲聚合函数

2. 聚合函数

聚合函数是我们经常使用的函数

常用聚合函数名称描述
1. count()计数
2. sum()求和
3. avg()平均值
4. max()最大值
5. min()最小值


2.1 count()

说到count那么就不得不说到count的三种方式

SELECT COUNT(myname) FROM `aaa`
 SELECT COUNT(1) FROM `aaa`
 SELECT COUNT(*) FROM `aaa`

使用列名查询时,会忽略null值,而1和*不会

三者的区别

1.? count(1) and count(*)

当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了!?

从执行计划来看,count(1)和count(*)的效果是一样的。但是在表做过分析之后,count(1)会比count(*)的用时少些(1w以内数据量),不过差不了多少。?

如果count(1)是聚索引,id,那肯定是count(1)快。但是差的很小的。?

因为count(*),自动会优化指定到那一个字段。所以没必要去count(1),用count(*),sql会帮你完成优化的 因此:count(1)和count(*)基本没有差别!?

2. count(1) and count(字段)

两者的主要区别是

count(1) 会统计表中的所有的记录数,包含字段为null 的记录。

count(字段) 会统计该字段在表中出现的次数,忽略字段为null 的情况。即不统计字段为null 的记录。?

2.2 sum()

-- 求语文科目的分数总和
 SELECT SUM(score) FROM `bbb` WHERE course='语文'

2.3 avg()

-- 求数学成绩的平均数
 SELECT AVG(score) FROM `bbb` WHERE course='数学'

2.4 max()

-- 求英语成绩的最大值
 SELECT MAX(score) FROM `bbb` WHERE course='英语'

2.5 min()

 -- 求英语成绩的最小值
 SELECT MIN(score) FROM `bbb` WHERE course='英语'

最后我们再说一下分组

 -- 查询各个科目的平均分,最大分,最小分,并用group by分组
 SELECT  course,AVG(score),MAX(score),MIN(score) FROM `bbb`  GROUP BY course

having关键字(在过滤,一般用于使用where语句后)

-- 查询平均分在80分以上的,使用条件用where时会报错 
 SELECT  course,AVG(score),MAX(score),MIN(score) FROM `bbb` WHERE AVG(score)>80 GROUP BY course
 -- 所以我们应该使用having ,它表示再次过滤,我们一般where只用一次,后面要过滤的使用having
 SELECT  course,AVG(score),MAX(score),MIN(score) FROM `bbb`  GROUP BY course HAVING AVG(score)>80

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-10 11:07:42  更:2021-12-10 11:10:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:04:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码