本文共 1582 字,大约阅读时间需要 5 分钟。
排序语法:
select * from 表名 order by 列 1 asc | desc [,列 2 asc | desc ,...] 说明
- 将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,以此类推
- 默认按照列值从小到大排列(asc)
- asc从小到大排列,即升序,默认排序
- desc从大到小排序,即降序
select * from students where gender= 1 and is_delete= 0 order by id desc ; select * from students where is_delete= 0 order by name ; 聚合函数
- count(*)表示计算总行数,括号中写星与列名,结果是相同的
- 聚合函数不能在 where 中使用
select count (*) from students; 最大值
select max ( age ) from students where gender= 2 ; 最小值
select min ( id ) from students where is_delete= 0 ; 求和
select sum (age) from students where gender= 1 ; select sum (age)/ count (*) from students where gender= 1 ; 平均值
select avg ( age ) from students where is_delete= 0 and gender= 2 ; group by
- group by的含义:将查询结果按照1个或多个字段进行分组,字段值相同的为一组
- group by可用于单个字段分组,也可用于多个字段分组
select gender from students group by gender; select gender from students group by gender; group by + group_concat()
- group_concat(字段名)可以作为一个输出字段来使用,
- 表示分组之后,根据分组结果,使用group_concat()来放置每一组的某字段的值的集合
group by + group_concat() 查询每种gender所有人的avg(age),以及每种gender的,个数count(*), 同理还有sum() max() min() group by + having
- having 条件表达式:用来分组查询后指定一些条件来输出查询结果
- having作用和where一样,但having只能用于group by
select gender,count(*) from students group by gender having count(*)>2; group by + with rollup
- with rollup的作用是:在最后新增一行,来记录当前列里所有记录的总和, 或者罗列各个数字(去重)
select gender,count(*) from students group by gender with rollup; 转载地址:http://saeab.baihongyu.com/