zoukankan      html  css  js  c++  java
  • GROUP BY 与聚合函数 使用注意点

    表的设计:

    表里面的内容:

    一:在不使用聚合函数的时候,group by 子句中必须包含所有的列,否则会报错,如下

    select name,MON from [测试、] group by name

    会报错:

    在子句中加上所有的列的时候

    select name,MON from [测试、] group by name,mon

    这时候不报错,执行结果

    此时虽然成功执行了,但是可以看出来group by在这里并没有发挥任何的作用,我们完全可以直接select而不用group by,所以,group by子句要配合聚合函数使用,并且,在配合聚合函数使用的时候,在group by子句中不要加上聚合函数处的列名(加入as了的话)

    配合聚合函数使用了的情况:

    select SUM(mon),name from [测试、] group by name

    结果:

    是我们想要的。

    再如:

    select MAX(ID),name from [测试、] group by name

    结果:

    也是我们想要的。

    但是说如果这样的话:

    select MAX(ID) as id,name from [测试、] group by name,id

    得到的结果是:

    很明显这不是我们想要的。

    所以这时候在使用聚合函数的地方若是使用了as另外命名,请不要在group by子句后再加上那个令命名的名字,否则就和文章刚开始出现的情况一样

  • 相关阅读:
    hive基本操作与应用
    理解MapReduce计算构架
    熟悉HBase基本操作
    熟悉常用的HDFS操作
    爬虫大作业
    数据结构化与保存
    使用正则表达式,取得点击次数,函数抽离
    爬取校园新闻首页的新闻
    网络爬虫基础练习
    Hadoop综合大作业
  • 原文地址:https://www.cnblogs.com/jinianjun/p/2549735.html
Copyright © 2011-2022 走看看