第三章:SQL聚合与排序

法则3-1
聚合函数
COUNT:计算表中的记录数(行数)
SUM :计算表中数值列中的数值的合计值
AVG :计算表中数值列中数值的平均值
MAX :求出 表中任意列中数据的平均值
MINI :求出表中任意列数据的最小值

COUNT:函数跟军参数的不同而不同,
count(*)会得到包含NULL的数据行数
count(列名)会得到NULL之外的数据行数
法则3-2
聚合函数会将NULL排除在外,但count(*)并不排除null
除了count聚合函数可以使用*,其他的sum,AVG,MINI,MAX都不可以使用* ,可以使用列名
法则3-3 
MAX/MIN函数几乎适用于所有类型的列,
sum/avg 函数只适用于数据类型的列
 法则3-3 
 聚合函数的参数使用DISTINCT,可以删除重复数据
 GROUP BY 只能写在select语句里面
 GROUP BY子句中不能使用select子句中列的别名
 GROUP BY子句的聚合结果是无序的
 where子句中不能使用聚合函数
  法则3-4
  GROUP BY就像一把刀将表分开
  聚合键中包含NULL时,在结果中会以"不确定"行(空行)的形式表现出来
  select * from Prount GROUP BY PI_type
  select * from Prount where Pi_type= '12 'GROUP BY Pi_type
  GROUP BY和where使用时的顺序
  书写顺序:select->from ->where->GRUOP BY
  执行书序:FROM->where->GROUP BY ->select
count和GROUPBY的使用
select常数,聚合函数,聚合键 from where 表 GROUPBY 聚合键
法则3-5
只有select子句和 HAVING 子句(以及orderby子句)中能够使用聚合函数
法则3-6 
聚合函数可以在select子句和HAVING,ORDERBY子句中使用
使用count函数汇总数据时,未指定的条件不是where而是HAVING子句
法则3-7
where用于指定数据行的条件
having用于指定分组的条件
having 要些早GROUPBY的后面
select -> from->where->GROUP BY -> having
having子句中可以使用,常数,聚合函数,GROUP BY 子句中指定的列名(聚合键)
法则3-8
order by 子句对查询的结果进行排序
order by ASC升序(默认)
order by desc 降序
order by 可以指定多个排序
排序键包含null时,会在开头或者末尾进行汇总
order by通常写select的末尾
order by可以使用别名
order by可以使用select子句未使用的列和聚合函数
使用 HAVING子句,select的顺序
from->where -> group by ->having ->select ->order by
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值