表的设计:

表里面的内容:

一:在不使用聚合函数的时候,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子句后再加上那个令命名的名字,否则就和文章刚开始出现的情况一样

GROUP BY 与聚合函数 使用注意点的更多相关文章

  1. 关于GROUP BY和聚合函数

    可以这样去理解group by和聚合函数 转自 http://www.cnblogs.com/wiseblog/articles/4475936.html 写在前面的话:用了好久group by,今天 ...

  2. 可以这样去理解group by和聚合函数

    写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉group by好陌生,总有个筋别不过来,为什么不能够select * from Table group by id,为什么一定不能是 ...

  3. group by 和聚合函数

    group by 的基本用法 group by做为分组来使用,后面为条件,可以有多个条件,条件相同的为一组,配合聚合函数进行相关统计.在不同数据库中用法稍有不同,这里只测试mysql和oracle. ...

  4. 可以这样去理解group by和聚合函数(转)

    http://www.cnblogs.com/wuguanglei/p/4229938.html 写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉group by好陌生,总有个筋别不 ...

  5. sql 学习之 group by 及 聚合函数

    1.在使用 GROUP BY 子句时,Select列表中的所有列必须是聚合列(SUM,MIN/MAX,AVG等)或是GROUP BY 子句中包括的列.同样,如果在SELECT 列表中使用聚合列,SEL ...

  6. mysql概要(四)order by ,limit ,group by和聚合函数的特点,子查询

    1.order by 默认按升序排列(asc/desc),多字段排序 order by 字段 排序方式,字段2 排序方式,..: 在分组排序中,排序是对分组后的结果进行排序,而不是在组中进行排序. s ...

  7. group by 和 聚合函数

    1.在oracle中 select * from Table group by id 会报错. 会报不是group by 表达式.为什么一定不能是 * ,而必须是分组的列或者某个列的聚合函数. 在my ...

  8. group by 和 聚合函数的使用

    有这样一个表数据: 学生姓名,学生手机号,上课日期,上课科目 科目分: 语文.数学.英语.计算机 要求统计一个这样子的结果: 学生姓名,学生手机号,第一次上课日期,迄今一共上了多少节课,上的最多的科目 ...

  9. 一文让你彻底理解group by和聚合函数

    知道group by是进行分组查询,但是一直觉得对其理解得不够透彻,在网上扒了一篇文章,我认为写得非常好. 为什么不能够select * from Table group by id,为什么一定不能是 ...

随机推荐

  1. SQL优化-标量子查询(数据仓库设计的隐患-标量子查询)

    项目数据库集群出现了大规模节点宕机问题.经查询,问题在于几张表被锁.主要问题在于近期得几个项目在数据库SQL编写时大量使用了标量子查询. 为确定为题确实是由于数据表访问量超过单节点限制,做了一些测试. ...

  2. dtd对xml没有起到约束作用

    问题如题. dtd: xml: BUG很明显,但是xml并没有提示错误信息.xml文档校验设置正常. 此处原因: dtd中元素与子元素设置之间缺少空格: 加上空格后正常报错:

  3. c#基于udp实现的p2p语音聊天工具

    原创性申明 此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/40124773假设进行转载请注明出处.本文作者原创,邮箱zhujunx ...

  4. 数据操作的封装--sqlhelper

    为了提高软件的灵活性和可维护性,软件的代码须要科学的管理.我们引入了架构这个词.设计模式提醒我们,软件中反复性的代码须要封装起来. 近期在做收费系统时.须要和数据库进行频繁的联系.既然是反复的使用,就 ...

  5. Ubuntu12.04 下 GTK3.xx 的安装、编译和測试

    用此方法成功在UBUNTU 12.04下安装GTK 3.xxx. 一.安装 1.安装gcc/g++/gdb/make 等基本编程工具 $sudo apt-get install build-essen ...

  6. Solr 搜索的过程和所须要的參数

    一个典型的搜索处理过程,以及所须要的參数例如以下: qt:指定一个RequestHandler,即/select.缺省是使用DisMax RequestHandler defType:选择一个quer ...

  7. hdu 5335 Walk Out (2015 Multi-University Training Contest 4)

    Walk Out                                                                         Time Limit: 2000/10 ...

  8. hdu(2846)Repository

    Problem Description When you go shopping, you can search in repository for avalible merchandises by ...

  9. caioj1497&&bzoj3125: CITY

    震惊!bzoj居然又被苏大佬D飞了... 这题煞笔模板题好吧. 然而bzojAC caiojWA%40??? 好强啊 今天早上发现是m打成n了囧 #include<cstdio> #inc ...

  10. Troubleshooting Failed Requests Using Tracing in IIS 8.5

    https://docs.microsoft.com/en-us/iis/troubleshoot/using-failed-request-tracing/troubleshooting-faile ...