SQL - Lee的学习笔记3

SQL - 学习笔记3

12、数据分析 - 聚合函数

(1) 函数表达式 = 聚合函数名 + (参数)
       以列为输入,输出只有一行。
       对该列进行汇总,不实际检索数据,而是汇总处理数据。

(2) 计数函数
       COUNT(*)或(1) 确定表中行的数目或符合特定条件的行的数目
       COUNT(col) 只作用于非null行 (不可同时计数多列
       COUNT(DISTINCT col) 对行去重计数

(3) 求和函数 - SUM
       指定列的和:SUM(col)
       具体用法:区别于直接四则运算;只对数值型作用;可同时操作多个列;可作用于计算表达式。

(4) 均值函数 - AVG
       指定列的平均值: AVG(col)
       具体用法:分母不对NULL计数;可同时操作多列

(5) 最大值函数 - MAX
       指定列的最大值:MAX(col)
       具体用法:适用数值型、文本型、日期型;要求该列可以排序;忽略NULL;DISTINCT无意义。

(6) 最小值函数 - MIN
       指定列的最小值:MIN
       具体用法:适用数值型、文本型、日期型;要求该列可以排序;忽略NULL;DISTINCT无意义。

13、数据分析 - 分组数据

(1) 将数据分组,再在各组中进行聚合。一定与聚合函数同时出现。
       SELECT [聚合键(GROUP BY 指定列)],[分组列] FROM … WHERE … GROUP BY [聚合键];
              结果中一行数据代表一个分组;
       SELECT展示列必须与分组对应,那么就只能是聚合键;
       NULL值单独成为一个分组;
       聚合键尽量不要出现别名。

(2) 分组过滤
       将数据分组,各组中聚合,对聚合结果再次筛选,得到所需分组,一定在GROUP BY之后
       SELECT… FROM … WHERE … GROUP BY … HAVING …;
              先过滤,再分组,再聚合,再筛选
       例:SELECT brand, COUNT(*) FROM milk_tea WHERE cost > 5 GROUP BY brand HAVING COUNT(*) >= 2;
              WHERE指定的条件
              HAVING指定的条件
       分组之前排除的行不参与分组
       过滤分组
       聚合键写在WHERE中更合适
       尽量不要对GROUP BY使用别名,但是ORDER BY可以使用别名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值