执行步骤解析:
- 最先根据from子句来得出一个关系。
- 如果出现了where子句,where子句的条件将应用到from子句的结果关系上。
- 如果出现了group by,满足where条件的元组通过group by子句形成分组。如果没有group by子句,满足where条件的整个元组被当作一个分组。
- 如果出现了having子句条件,它将应用到每个分组上;不满足having子句条件的分组将被丢弃。
- select子句利用剩下的分组产生出查询结果,即在每个分组上应用聚集函数来得到单个结果元组。
sql的5个聚集函数:
- 平均值:avg
- 最小值:min
- 最大值:max
- 总和:sum
- 计数:count
例子:
select a.area_nm area_name, count(distinct brd_accs_nbr) from ta_brd_es_score_table a join
(select user_id from ti_res_user_distinct) b
on (a.brd_acct_nbr=b.user_id)
where a.dt=20170330
and fibre_optical_break_off<6
group by a.area_nm;