group by 的简单说明:  group by 一般和聚合函数一起使用才有意义,比如 count sum avg等

使用group by的两个要素:
   (1) 出现在select后面的字段 要么是是聚合函数中的,要么就是group by 中的.
   (2) 要筛选结果 可以先使用where 再用group by 或者先用group by 再用having

下面看下 group by多个条件的分析:

---------- 测试数据初始化    begin --------------------

在SQL查询器输入以下语句

create table test1
(
a varchar2(20),
b varchar2(20),
c varchar2(20)
);
insert into test1 values(1,'a','甲');
insert into test1 values(1,'a','甲');
insert into test1 values(1,'a','甲');
insert into test1 values(1,'a','甲');
insert into test1 values(1,'a','乙');
insert into test1 values(1,'b','乙');
insert into test1 values(1,'b','乙');
insert into test1 values(1,'b','乙');

---------- 测试数据初始化    end--------------------

第一次查询

select * from test1; 结果如下图:

结果中       按照b列来分:则是 5个a 3个b.    按照c列来分:则是 4个甲 4个乙.

第二次查询 按照 b列来分组 代码如下

select count(a),b from test1 group by b;

第三次 按照 c列来分组 代码如下
select count(a),c from test1 group by c;

第四次 按照 b c两个条件来分组

select count(a),b,c from test1 group by b,c;

可以看出 group by 两个条件的工作过程:

先对第一个条件b列的值 进行分组,分为 第一组:1-5, 第二组6-8,

然后又对已经存在的两个分组用条件二 c列的值进行分组,发现第一组又可以分为两组 1-4,5

第五次 按照 c b 顺序分组

select count(a),b,c from test1 group by c,b;

最新文章

  1. iOS开发中遇到的错误整理 - 集成第三方框架时,编译后XXX头文件找不到
  2. hdu3415 单调队列
  3. bzoj4402: Claris的剑
  4. hdu 1711Number Sequence
  5. 《BI项目笔记》历年的初烟水分均值变化分析Cube的建立
  6. ELK 信息统计分析-1
  7. linux包之bash之内置命令ulimit
  8. 【jmeter】测试报告优化<一>
  9. find命令之exec
  10. 1304: [CQOI2009]叶子的染色 - BZOJ
  11. padding and margin.
  12. android studio集成环境搭建
  13. C# 对JS编码/解码进行转换
  14. function的粗浅理解
  15. HTML常见标签学习与笔记总结
  16. 在windows下用C语言写socket通讯实例
  17. Visual Studio 2013 Use HTTPS (SSL) On Web Application Projects
  18. 读headFirst设计模式 - 观察者模式
  19. Mego开发文档 - 事务
  20. JS中如何进行对象的深拷贝

热门文章

  1. Sentinel 学习资料
  2. soapui学习
  3. 【JavaWeb】SpringBoot架构
  4. springboot2.1+redis多数据源的配置
  5. EventBus事件总线(牛x版)
  6. Excel-逻辑函数
  7. Linux--部署Django项目
  8. Django-Debug-Toolbar插件
  9. 仅逗oier们一笑(不定期更新中)(update.2019年12月8日)
  10. centos7如何添加开机启动项?