项目五-2统计查询
任务目标任务一应用聚合函数任务二应用GOUOUPBY任务三应用HAVING条件子句
任务一应用聚合函数
应用聚合函数主要内容:记录个数统计函数COUNT()累加和函数SUM()平均值函数AVG()最大值函数MAX()最小值函数MIN()重点难点:各个函数的应用规则
基本查询语法查阅语法:官网文档:/doc/refman/8.0/en/select.html语法:SELECT[ALL|DISTINCT]select_expr[,select_expr...][FROMtable_references[WHEREwhere_condition][GROUPBY{col_name|expr|position},...[WITHROLLUP]][HAVINGwhere_condition][ORDERBY{col_name|expr|position}[ASC|DESC][LIMIT{[offset,]row_count|row_countOFFSEToffset}]
应用聚合函数基本语法:SELECTfunc(*|col_num) FROMtable_references [WHEREwhere_condition]COUNT()语法:COUNT([ALL|DISTINCT]表达式|*)作用:统计所选字段的记录个数。其中:ALL:对所选字段的所有非NULL值统计,为默认值。DISTINCT:对重复的记录仅计算一次,返回所有唯一的非NULL值的记录个数。*:返回所有组中的项数,包括NULL值和重复值在内。
应用聚合函数例1:查询顾客表的人员数量。mysqlUSEdb_shop;mysqlSELECT*FROMcustomer;mysqlSELECTCOUNT(ALLemail)FROMcustomer;mysqlSELECTCOUNT(email)FROMcustomer;mysqlSELECTCOUNT(*)FROMcustomer; mysqlSELECTCOUNT(*)FROMcustomer WHEREsex=F;/*观察上面的统计结果*/
应用聚合函数例2:查询订单表处理的人员数量。mysqlSELECT*FROMorders;mysqlSELECTCOUNT(ALLcustomer_id)FROMorders;mysqlSELECTCOUNT(customer_id)FROMorders;mysqlSELECTCOUNT(DISTINCTcustomer_id)FROMorders;/*不写DISTINCT时,默认是ALL*/
应用聚合函数SUM()语法:SUM([ALL|DISTINCT]表达式)作用:统计数值型字段的总和,忽略NULL值。其中:ALL:对所选字段的所有值求和,为默认值。DISTINCT:对重复的记录仅计算一次。例:mysqlUSEdb_shop;mysqlSELECTSUM(quantity)FROMitem;mysqlSELECTSUM(quantity)FROMitem;WHERERgoods_id=‘1’
应用聚合函数AVG()语法:AVG([ALL|DISTINCT]表达式)作用:统计数值型字段的平均值,忽略NULL值。其中:ALL:对所选字段的所有值求平均值,为默认值。DISTINCT:对重复的记录仅计算一次。例:mysqlUSEdb_shop;mysqlSELECTAVG(quantity)FROMitem;mysqlSELECTAVG(quantity)FROMitem;WHERERgoods_id=‘1’
应用聚合函数MAX()MAX([ALL|DISTINCT]表达式)作用:统计数值型、日期时间型字段的最大值,忽略NULL值。其中:ALL:对所选字段的所有值求最大值,为默认值。DISTINCT:对重复的记录仅计算一次。例:mysqlUSEdb_shop;mysqlSELECTMAX(quantity)FROMitem;mysqlSELECTMAX(quantity)FROMitem; WHERERgoods_id=‘1’
应用聚合函数MIN()语法:MIN([ALL|DISTINCT]表达式)作用:统计数值型、日期时间型字段的最小值,忽略NULL值。其中:ALL:对所选字段的所有值求最小值,为默认值。DISTINCT:对重复的记录仅计算