- 排序
升序(小到大)asc 降序(大到小)desc #(order by)
eg:查询所有男生并且身高由小到大 select * from stu where gender="男" order by height asc;
查询年龄在18-34之间女性并且按照身高由高到低排序如果身高相同就按照id由大到小排 select * from stu where (age between 18 and 34)and gender=2 order by height desc,id desc;
- 聚合函数 max min sum:和 count:统计个数 avg:平均值 round:保留小数
select 聚合函数(字段名) from 表名;
eg:查询最大的年龄 select max(age) from stu;
查询最小的年龄 select min(age) from stu;
求学生年龄总和 select sum(age) from stu;
统计学生总数 select count(*) from stu;
求学生年龄的平均值 select avg(age) from stu;
对学生年龄平均值保留两位小数 select round(avg(age),2) from stu;
- 分组 (group by)
group_coucat:将分组的结果连在一起,可以获取具体的值,可以单独使用
select 查询的内容 from 表名 group by 字段名;
eg:获取表中的性别以及对应人数 select gender,count(*) from stu group by gender;
获取表中的性别以及对应的名字 select gender,group_concat(name) from stu group by gender;
获取表中的性别以及对应的名字和年龄 select gender,group_concat(name,"=",age) from stu group by gender;计算男性的人数 select count(*) from stu where gender="男";
计算男性的人数及名字 select count(*),group_concat(name) from stu where gender="男";
- 过滤
having:对分组的结果进行过滤 跟在分组group by后面使用
select 查询的内容 from 表名 group by 字段名 having 条件;
eg:查询不同性别平均年龄大于30的性别及平均年龄 select gender,avg(age) from stu group by gender having avg(age)>30;
查询 每种性别 人数 大于2的信息 select gender,count(*) from stu group by gender having count(*)>2;
- limit num
num:代表获取这个表中前num条信息 limit start,count:start起始值 count数量 start满足的公式(页数-1)*每一页的个数 不能直接使用公式
eg:获取表中前五条数据 select * from stu limit 5;
获取性别为男的前三条信息 select * from stu where gender="男" limit 3;
每页显示两条数据 获取第五页数据 按照年龄降序排序 select * from stu order by age desc limit 8,2;
*from 表名 先找到表
where 条件 根据指定条件查找数据
select 字段 获取字段对应的值
group by
关键字的优先级 from > where > group by > having > order by
语句的顺序 select * from 表名 where 条件 order by 排序 group by 分组 having 过滤 limit 分页