当前位置: 首页 > news >正文

【0基础学习mysql】之DQL-聚合函数、分组查询及排序查询

CSDN话题挑战赛第2期
参赛话题:学习笔记

学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?

目录

一、聚合函数

1.常用聚合函数

2.实例

1.count

2.max 

 3.avg

4.sum

 二、分组查询

1.语法

2.实例

 三、排序查询

1.语法

2.实例

1.升序

 2.降序


一、聚合函数

将一列数据作为一个整体,进行纵向计算

1.常用聚合函数

            函数                                         功能                     
           count                                   统计数量
            max                                     最大值
             min                                     最小值
             avg                                     平均值
             sum                                      求和

语法:

SELECT 聚合函数(字段列表)FROM 表名;

2.实例

1.count

举例

统计user的人数

代码

INSERT INTO user(id,name,age)VALUES (1,'张小三',18),(2,'李四',20),(3,'王老五',48),(4,'老六',18);
SELECT COUNT(*) FROM user;

执行结果

 

2.max 

举例

在user表中找出最大年龄

代码

INSERT INTO user(id,name,age)VALUES (1,'张小三',18),(2,'李四',20),(3,'王老五',48),(4,'老六',18);
SELECT max(age) FROM user;

执行结果

 3.avg

举例

求表user年龄的平均值

代码

INSERT INTO user(id,name,age)VALUES (1,'张小三',18),(2,'李四',20),(3,'王老五',48),(4,'老六',18);
SELECT avg(age) FROM user;

执行结果

4.sum

举例

对user表中的年龄求和

代码

INSERT INTO user(id,name,age)VALUES (1,'张小三',18),(2,'李四',20),(3,'王老五',48),(4,'老六',18);
SELECT sum(age) FROM user;

执行结果

 二、分组查询

1.语法

SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件]([]在这里只是用于区分,写代码时不加[])

WHERE是分组之前进行过滤,HAVING是分组之后对结果进行过滤。WHERE不能对聚合函数进行判断,而HAVING可以

2.实例

举例

分别统计表user不同年龄人的个数

代码

INSERT INTO user(id,name,age)VALUES (1,'张小三',18),(2,'李四',20),(3,'王老五',48),(4,'老六',18);
SELECT age,count(*) FROM user GROUP BY age;

执行结果

 举例

查找年龄大于18的名字

代码

INSERT INTO user(id,name,age)VALUES (1,'张小三',18),(2,'李四',20),(3,'王老五',48),(4,'老六',18);
SELECT * FROM user WHERE age>18 GROUP BY name;

执行结果

 三、排序查询

1.语法

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2......;)(默认为升序)

2.实例

1.升序

1.举例

根据年龄对表user进行升序排序

2.代码

INSERT INTO user(id,name,age)VALUES (1,'张小三',18),(2,'李四',20),(3,'王老五',48),(4,'老六',18);
SELECT * FROM user ORDER BY age asc ;

3.执行结果

 2.降序

1.举例

根据年龄对表user进行降序排序

2.代码

INSERT INTO user(id,name,age)VALUES (1,'张小三',18),(2,'李四',20),(3,'王老五',48),(4,'老六',18);
SELECT * FROM user ORDER BY age desc ;

3.执行结果

 实例

根据年龄对表user进行升序排序,年龄相同,根据id降序

代码

INSERT INTO user(id,name,age)VALUES (1,'张小三',18),(2,'李四',20),(3,'王老五',48),(4,'老六',18);
SELECT * FROM user ORDER BY age asc,id desc ;

执行结果

 

相关文章:

  • 【Redis】回顾下Redis基础知识点,还记得哪些?
  • redis五种数据类型内部构造
  • 基于Vue+Element UI+SSM+SpringCloud的员工管理系统
  • LeetCode刷题---二分查找巩固
  • 简单概述理解vue的MVVM模型
  • 24、Java——银行存款取款系统(对象+集合)
  • Python 集合
  • 【DS】5.二叉树大总结!
  • 攻防世界 web2
  • 机器人运动学标定:基于公垂线模型的指数积标定——减少标定参数,避免过度约束
  • 机器学习模型的集成方法总结:Bagging, Boosting, Stacking, Voting, Blending
  • 全志 Melis-4.0(rt-thread内核) 环境搭建与初步编译介绍
  • JUC 中的线程池入门(其实没有那么难)
  • 派福利!通过 Azure 零成本进入 CUDA 编程
  • 10.6日作业
  • 【5+】跨webview多页面 触发事件(二)
  • 【RocksDB】TransactionDB源码分析
  • C语言笔记(第一章:C语言编程)
  • Date型的使用
  • eclipse的离线汉化
  • Java多态
  • jquery cookie
  • JS题目及答案整理
  • Lucene解析 - 基本概念
  • ng6--错误信息小结(持续更新)
  • Odoo domain写法及运用
  • python docx文档转html页面
  • socket.io+express实现聊天室的思考(三)
  • vue2.0项目引入element-ui
  • Vue2.x学习三:事件处理生命周期钩子
  • vue的全局变量和全局拦截请求器
  • win10下安装mysql5.7
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 复杂数据处理
  • 聊聊directory traversal attack
  • 区块链技术特点之去中心化特性
  • 《码出高效》学习笔记与书中错误记录
  • hi-nginx-1.3.4编译安装
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #{}和${}的区别?
  • #FPGA(基础知识)
  • (C#)获取字符编码的类
  • (C++17) optional的使用
  • (done) 两个矩阵 “相似” 是什么意思?
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (五)MySQL的备份及恢复
  • (学习日记)2024.01.09
  • (转)h264中avc和flv数据的解析
  • (轉貼) UML中文FAQ (OO) (UML)
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .Net IE10 _doPostBack 未定义