(1) group by 分组统计
order by 对于指定列的结果进行排序,通常情况下是升序(ASC),若想降序,可通过 DESC
如: order by customer desc
Q:为什么group by不能和select*连用?
因为如果提取的是全部列,那么分组之后,有些单元格里就会有多个数值,而单元格是不允许有多个值的。
(存疑,书上没找到)
(2)substr(string,1,5) 字符串截取函数 意味着截取string中从第一位到第五位
(3)count()
返回指定列的值的数目
(4)having 与 where 的区别
where 是筛选成组前的数据,后接的必须是表里的列
having 通常接在group by 后面,是筛选成组后的各种数据,可以加聚合函数
(5)聚合函数
无非就是输入多个值,再输入一个值。比如avg,count,max,min,sum
(6)group by 与 distinct
若原表为
国家 钱
中国 50
中国 50
美国 5
中国500
若用 select distinct 国家,钱 from table 会出现
国家 钱
中国 50
美国 5
中国500
其实就是将完全相同的记录删去
若用 select 国家,sum(钱)
from table
group by 国家 会出现
国家 钱
中国 600
美国 5
(所以通常group by 会与聚合函数一起使用)
(7)union
用于合并两个或多个select语句的结果集
union 会删去重复的值,而union all不会