group by 两个字段

转发:https://www.cnblogs.com/happyWolf666/p/8196147.html
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;

group by 两个字段相关推荐

  1. 查询sql一个字段重复的数据mysql_sql查询按两个字段查询重复记录

    展开全部 1.改成如下语句: select shiyan003.* from shiyan003 right join (select xm,sfzhm from shiyan003 group by ...

  2. oracle group by 两项,Oracle中group by 的扩展函数rollup、cube、grouping sets

    Oracle的group by除了基本使用方法以外,还有3种扩展使用方法,各自是rollup.cube.grouping sets.分别介绍例如以下: 1.rollup 对数据库表emp.如果当中两个 ...

  3. 求平均数、百分率、最大值、最小值、两个字段相差秒数的SQL

    平均数: avg(字段名) 百分率:分子/分母 count(case when 字段名及条件 then 1 else bull end) / count(*) 最大值: max(字段名) 最小值: m ...

  4. 平均成绩是计算数学计算机英语三门,创建一个查询,计算并显示“学号”和“平均成绩”两个字段内容,其中平均成绩 是计算数学、计算机和英语_开卷宝...

    "学生表"中有"学号"."姓名"."性别"和"入学成绩"等字段.执行如下SQL命令后的结果是( ). ...

  5. MySQL.MyBatis怎么将查询的两个字段作为Map的key和value

    MySQL.MyBatis怎么将查询的两个字段作为Map的key和value 问题的由来 前端使用Echarts图标显示汇总数据.需要形式如下的数据: {"C20": 42.01, ...

  6. mysql 查询两个字段相同的数据_sql语句如何查询一个表中某两个字段的相同数据?...

    查询一个表中某两个字段的相同数据代码是:Select Name,ID From A group by Name,ID having count (*)>1. 结构化查询语言(Structured ...

  7. mysql 两个分组条件_数据库关于group by 两个或以上条件的分析

    首先group by 的简单说明: group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素: (1) 出现在select后面的字段 要么是 ...

  8. oracle查询相同的值,oracle 查询两个字段值相同的记录,

    oracle 查询两个字段值相同的记录,select A.* from tb_mend_enrol A, (select A.Typeid, A.address from tb_mend_enrol ...

  9. 使用sed和awk取除最后两个字段之外的字段

    字符串示例为: 1 /Users/yfan/Downloads/dsc20170801_jar/releases/com/netfinworks/ufs/ufs-client/ufs-client-2 ...

最新文章

  1. 象过河怎么用远程服务器,象过河远程协助的教程
  2. 一些经典的常用ASP代码[经典简单] (2)
  3. 玩转html5(五)---月球绕着地球转,地球绕着太阳转(canvas实现,同样可以动哦)...
  4. 码云怎么创建公开的仓库_使用码云或GitHub搭建简单的个人网站(补充hexo搭建博客)...
  5. MySQL表联合查询 理论基础:外键、操作关联表(一)
  6. Python gensim库word2vec 基本用法
  7. cad加载dll_你的CAD为什么安装不上?进来看看你就知道了
  8. java当前时间查询,Java实现查询记录的时间相对于当前时间
  9. PHP:CURL分别以GET、POST方式请求HTTPS协议接口api
  10. nginx location总结
  11. No package python27 available
  12. Git教程--基于廖雪峰的教程,最通俗易懂
  13. 东华大学matlab账号,东华大学银行账号、联行号及税号
  14. 软件原型设计工具Axure
  15. 联通鸿蒙卡充值,中国联通“一卡充”实现全业务充值
  16. Java 随机生成中文姓名,手机号,邮编,住址
  17. :爱情从来就没有愚人节
  18. LabVIEW学习心得
  19. origin如何绘制双y轴曲线_使用Origin软件绘制双y轴曲线图的过程
  20. 磁链转种子,种子转磁链

热门文章

  1. vue路由跳转错误问题
  2. go程序设计语言-第一章 入门(1)
  3. Linux下的压缩解压缩
  4. 产品升级|11-12月合刊:多款产品重磅发布!
  5. 使用vuejs+epubjs实现电子书阅读器的基本功能
  6. 菜鸟de深度学习之路——(2)张量运算和梯度优化
  7. 小白开发微信小程序49--本地服务器部署测试小程序
  8. 把图片批量导入到MySQL数据库
  9. SSH框架整合开发(SSH框架整合过程)
  10. 使用Python实现对word的批量操作