函数

常用函数

大小写转换

lower()

使函数内的字符变成小写

upper()

使函数内的字符变成大写

截取字符substr()

substr(字段,截取的位置,截取的位数)
从第5个字符开始截取,截取两个字符。XiaoMing第5个是M,截取2个得Mi

还能作为查询语句的条件
查询第5个字符为L的学生姓名

字符串长度length()

ifnull()

ifnull(字段,值)

ifnull(score,0)如果成绩为null,则值设为0

聚合函数

求和sum()

求平均值avg()

最值

max和min会忽略值为null的字段

max()

min()

计数count()

计算的是数据的数量,而不是数据值,也会忽略null的字段
count(*)即计算有几行数据

去重distinct


查不重名的人数

select distinct 字段名 from 表名;

排序order by

select...from... order by 要排序的字段名 asc升序/desc降序;


两个字段的排序
先按照前一个字段排,排完再排第二个字段
先按照年龄排序,年龄排完了,再根据成绩排序,如有几个6岁的学生按成绩排序

分组grope by

按照性别分组,再计算各组的人数(数据行数)

按照组号分组,再计算各组的总分

筛选having

查询总成绩大于100的组

where与having的区别

  • where在表名后,筛选表的数据
  • having在grope by后,筛选分组的数据

限制limit

能限制查询的数据条数,常用于分页
limit n 从索引0(第1行数据)开始查询n行数据

limit n,m 从索引2(第3行数据)开始查询m行数据

查询成绩前5名的学生

select ... from ... limit 页面起始下标,页面大小;
# 每页的大小为pagesize,则第n页limit语句是limit((n-1)*pagesize,pagesize)

函数执行顺序


从students表中查询女生所在的组号和女生的总成绩,并按照组号分组,且筛选出总分>30的组并降序排列,最后选出总分排前两名的组。

posted @ 2023-02-09 22:58  ben10044  阅读(31)  评论(0编辑  收藏  举报