【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 ;

执行结果

 

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天寒雨落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值