一、查询规则

1. 计算总量
计算总量 往指定列竖直延伸
2. 计算单位
计算单位 是一条行水平对应
3. 计算方向
计算方向 是水平合或竖直合,除了聚合函数的计算方向为计算单位竖直合,其它的计算方向都为水平合
4. 计算量组
计算量组 是一次计算进行的对象量,一个量组 对应一个计算结果,通过group by以指定列字段合数据相同进行分组
二、分组查询
select col,... from tb_name where 条件 group by col,... having 条件;
1. group by
group by 分组是按照 指定列字段 水平单位合数据相同的上下水平划分成组
2. having
where 条件 在分组之前 进行的条件筛选,写在 group by 的前面,having 条件 在分组之后 对合组结果 进行的条件筛选,写在 group by 的后面
三、聚合查询
sql 里,函数的参数是列
- 聚合函数 都只能传入一个参数(一个列 或一个表达式列 或*),
- 聚合函数的计算方向 是特定的 计算单位竖直合
1. count
select count([distinct] col) from tb_name;
计算 每个计算量组里 计算单位的个数,除全列查询外 计算单位的数据为 null 的 不计入计算单位个数
2. sum
select sum([distinct] col) from tb_name;
计算 每个计算量组里 计算单位的数据和,会对计算单位里的数据 强转成 double进行计算,遇到 null 会跳过不参与运算




