美文网首页
汇总和分组数据

汇总和分组数据

作者: olivia_ong | 来源:发表于2016-11-16 20:20 被阅读0次

汇总数据

利用聚集函数(aggregate function)对表中信息进行汇总。

聚集函数

  • 运行在行组上,计算和返回单个值的函数。
  • SQL聚集函数:
  • AVG():返回某列的平均值
  • COUNT():返回某列的行数
  • MAX():返回某列的最大值
  • MIN():返回某列的最小值
  • SUM():返回某列之和
  • 具体应用
    avg()函数计算列的平均值,如果是多个列,必须使用多个avg()函数;avg()函数忽略列值为NULL的行。
    select avg(prod_price) as avg_price from products;
    count()函数进行计数。
    select count(*) as num_cast from customers;//对表中所有行计数,不管各列有什么值
    select count(cust_email) as num_cast from customers;//对特定列中具有值的行进行计数,忽略NULL值
    max()函数和min()函数分别返回特性列的最大值和最小值,要求制定列名,忽略NULL值。
    select max(prod_price) as max_price from products;
    sum()函数返回指定列的和
select sum(quantity*item_price) as items_ordered 
from orderitems
 where order_num=20005;

利用算术操作符,所有的聚集函数都可以用来执行多个列上的计算。

  • 聚集不同的值
    对所有的行执行计算,指定ALL或者不给参数(ALL是默认行为);
    只包含不同的值,指定DISTINCT参数
    select avg(distinct prod_price) as avg_price from products;

分组数据

利用group by子句和having子句对不同类别的数据进行分组汇总。

创建分组

利用group by子句创建分组

select vend_id,count(*) as num_prods
from products
group by vend_id;//不同vend_id包含的产品数目

使用group by子句的规定:

  • group by子句可以包含任意数目的列。
  • 如果在group by子句中嵌套了分组,数据将在最后规定的分组上进行汇总。
  • group by子句中列出的每个列都必须是检索列或者有效的表达式,不能是聚集函数。
  • 处聚集计算语句外,select语句中的每个列都必须在group by子句中给出。
  • 如果分组中具有NULL值,则NULL值将作为一个分组返回。
  • group by子句必须出现在where子句之后,order by子句之前。
  • 加上with rollup,会将所有的分组数返回
select vend_id,count(*) as num_prods
from products
group by vend_id with rollup;

过滤分组

利用having子句替代where对分组进行过滤。

select cust_id,count(*) as orders
from orders
group by cust_id having count(*)>=2;

where与having相结合

select vend_id,count(*) as num_prods
from products
where prod_price>=10
group by vend_id having count(*)>=2;//具有两个及以上的价格为10及以上产品的供应商

相关文章

  • 汇总和分组数据

    汇总数据 利用聚集函数(aggregate function)对表中信息进行汇总。 聚集函数 运行在行组上,计算和...

  • Django 根据月份信息统计数据

    算出当前时间的月份总和数据,这里使用之前讲到的TruncMonth 按照上面的情况,下面我们就可以进行月份的分组聚...

  • 必知必会-第十三章

    分组数据 本章介绍如何分组数据,两个关键字GROUP BY和HAVING。 分组的作用 分组允许把数据分为多个逻辑...

  • K8-8/15-《大数据时代》 -蝈蝈

    随着大数据的出现,数据的总和比部分更有价值。当我们将多个数据集的总和重组在一起时,重组总和本身的价值也比单个总和更...

  • 数据分析—利用pandas进行数据分组

    目标: 学会利⽤pandas对数据进⾏分组 知道如何提取分组后的数据 可以按多列进⾏分组 能够对分组后数据进⾏统计...

  • 第一章 数据分析的基础

    数据分析的前提是数据的搜集与加工处理 1.1 数据分组与变量数列 1.1.1 数据分组 数据分组 就是对某一变量不...

  • pandas group分组

    某列数据按照某列分组: 某列数据按照某几列分组: 所有数据按照某列分组: 按照数据类型划分列:

  • 工作进度

    1.上午去家汇做好售前工作 2.下午接待姜总和阿汤哥,并保持后续跟进 3.整理鑫鸿城货物数据 4.借助天气,跟意向...

  • 8. 分组数据

    分组数据 使用分组可将数据分为多个逻辑组,对每个组进行聚集计算。 创建分组 分组使用SELECT 语句的GROUP...

  • 分组数据

    group by 创建分组 出现在where子句之后,order by子句之前having select vend...

网友评论

      本文标题:汇总和分组数据

      本文链接:https://www.haomeiwen.com/subject/tfirpttx.html