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

  • 相关阅读:
    DevOps文化对团队有何影响?
    Java基础---第十篇
    针对小程序的漏洞挖掘
    [发布] 一个测试 WebService 和数据库连接的工具 - DBTest v1.0
    什么是身份证ocr识别?身份证ocr识别接口API能干什么?
    git容易出问题的命令
    离散数学 --- 特殊图 --- 欧拉图,哈密顿图
    策略下发与安全处置
    Three.js入门学习笔记
    文档在线预览word、pdf、excel文件转html以实现文档在线预览
  • 原文地址:https://blog.csdn.net/qq_41523175/article/details/126300782