12(查询数据【高级】)

完整查询语句语法:

select 选项 字段名 from 数据源 where 条件 group by 分组 having 条件 order by 排序 limit 限制;

1、选项:系统该如何对待查询得到的结果

(1)all(全部):保存显示所有的记录

(2)distinct(去重):去除重复的记录,只保留一条(所有字段相同)

别名:语法(字段 as  别名   或   字段 别名)

12(查询数据【高级】)

2、数据源:具有二维结构的数据

(1)单表数据:from 表

(2)多表数据:from 表1,表2,……

(3)动态数据:from (select 字段名 from 数据表)as 别名; 

一、where子句

即通过查询相应的记录,通过where进行条件判断,从而将符合条件的记录保存到内存中进行显示

二、聚合函数(group by子句)

为了便于统计,指定相应的字段进行分组

1、分组统计

语法:group by 字段名;

12(查询数据【高级】)

常用统计函数(聚合函数):

(1)count():统计每组的数量

12(查询数据【高级】)

(2)avg():平均值

(3)aum():求和

(4)max():最大值

(5)min():最小值

2、多分组

对已经分组的记录进行再分组处理

语法:group by 字段1,字段2;  //先按照字段1进行分组,之后再按字段2进行分组。

3、分组排序

对数据记录按照相关字段进行排序处理,默认为升序

语法:group by 字段 【asc(升)| desc(降)】;

4、回溯统计

进行在分组之后,在上报统计的过程中,需要层层上报,这个过程即为回溯统计。

语法:group by 字段名 【asc | desc】with rollup;

三、having子句

用于在group by子句之后,对分组的数据进行统计筛选

四、order by子句

五、limit子句