Mysql基础(三)——常用函数与聚合函数

〇、学生表数据:

 

一、常用函数

1.1、查询学生信息,并将学生姓名转换为小写(lower):

select *,lower(student_name) from students;

  

1.2、查询学生信息,并将学生姓名转换为大写(upper):

select *,upper(student_name) from students;

2.1、查询学生信息,并将学生姓名字段截取一部分:

select *,substr(student_name,5,2) from students;

该函数的意思是,截取student_name字段数据的,第五位开始,截取两位。 

2.2、查询第五个字符为‘W’的学生信息:

select * from students where substr(student_name,5,1)='w';

3、查询所有学生的名字,并显示出名字的长度:

select student_name,length(student_name) from students;

4、查询学生信息,并多显示一列成绩,如果为空,则换为0:

select *,ifnull(achievement,0) from students;

看第七行数据

二、聚合函数

1、计算总成绩:

select sum(achievement) from students;

 

2、求平均成绩:

select avg(achievement) from students;

3、求最大年龄和最小年龄:

select max(age),min(age) from students;

4、 查询学生数量:

select count(id) from students;

一般写count(*) 

5、 查询有成绩的学生人数:

select count(achievement) from students;

6、查询所有学生的姓名,重名的只显示一条:

select distinct(student_name) from students;

我们发现,只有9条数据了,因为有两位学生都叫【XiaoMing】 。

7、查询学生不重名的总人数:

select count(distinct(student_name)) from students;

8、查询男生有几人,女生有几人:

select sex,count(*) from students group by sex;

9、按小组划分,查询各个小组的总成绩:

select team_id,sum(achievement) from students group by team_id;

10、在9的基础上,筛选出总成绩大于100的小组:

select team_id,sum(achievement) from students group by team_id having sum(achievement)>100;

 

 【having】一般要搭配【group by】来使用。

select XXX from XXX where XXX group by XXX having XXX order by XXX limit.

11、limit:

11.1、取排序前五的学生:

select * from students limit 5;

 11.2、取第三条数据,往下取五条:

select * from students limit 2,5;

【limit 2,5】的当中的【2】的意思是,索引为2,即第三条数据。 

11.3、查询成绩前五名的学生信息:(按照成绩降序)

select * from students order by achievement desc limit 5;

12、总结:查询男性当中的,按照小组划分,小组的总成绩大于30的,按照小组总成绩降序排列,取前2条数据:

select team_id,sum(achievement) from students where sex=0 group by team_id having sum(achievement)>30 order by sum(achievement) desc limit 2;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

pro1822

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

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

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

打赏作者

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

抵扣说明:

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

余额充值