函数
常用函数
大小写转换
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的组并降序排列,最后选出总分排前两名的组。


浙公网安备 33010602011771号