group by 两个字段
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 两个字段的更多相关文章
- hive:(group by, having;order by)的使用;group by+多个字段,以及wiki说的group by两种使用限制验证
hive> select * from app_data_stats_historical where os='1' group by dt limit 100; 出现结果如下: 2014-01 ...
- Distinct和Group by去除重复字段记录
重复记录 有两个意义,一是完全重复的记录,也即所有字段均重复的记录 二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略. 1.对于第一种重复,比较容易解决,使用 s ...
- 关于group by 两个或以上条件的分析
关于group by 两个或以上条件的分析 原文地址:http://uule.iteye.com/blog/1569262 博客分类: 数据库 首先group by 的简单说明: grou ...
- 【转】group by多个字段理解
来源:http://uule.iteye.com/blog/1569262 首先group by 的简单说明: group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使 ...
- 数据库关于group by 两个或以上条件的分析
首先group by 的简单说明: group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素: (1) 出现在select后面的 ...
- C# Linq to sql 实现 group by 统计多字段 返回多字段
Linq to sql 使用group by 统计多个字段,然后返回多个字段的值,话不多说,直接上例子: where u.fy_no == fy_no orderby u.we_no group u ...
- MySQL GROUP BY多个字段分组用法详解
mysql语句中group by 很容易理解 是分组查询.比如 select sum(score) from user group by name 意思是查询每个人的分数总和但是, select su ...
- mysql的if用法解决同一张数据表里面两个字段是否相等统计数据量。
MySQL的使用用法如下所示:格式:if(Condition,A,B)意义:当Condition为true时,返回A:当Condition为false时,返回B.作用:作为条件语句使用.mysql的i ...
- group by 多个字段
众所周知,group by 一个字段是根据这个字段进行分组,那么group by 多个字段的结果是什么呢?由前面的结论类比可以得到,group by 后跟多个子段就是根据多个字段进行分组 注:下面的例 ...
随机推荐
- SQL-on-Hadoop 技术
SQL-on-Hadoop 技术 备注 Apache Hive Cloudera Impala Facebook Presto Apache Drill Spark SQL Apache Phoeni ...
- 遍历hashmap 的四种方法
以下列出四种方法 public static void main(String[] args) { Map<String,String> map=new HashMap<String ...
- 关于git设置多个账号的问题,ideal中clone项目
一.排坑 1.ping github.com超时.修改C:\Windows\System32\drivers\etc的hosts文件,添加 # GitHub地址 192.30.255.112 gith ...
- sqler 2.2 发布了,支持定时任务以及触发器
sqler 在10前发布了,2.2 添加了定时任务以及触发器(webhook),都是比较方便的功能, 同时我也修改了dockerfile, 做了构建,添加了功能支持,同时push 到了dockerhu ...
- Python程序设计例题
例一:蒙特卡罗方法求解 π 值 from random import random from math import sqrt from time import clock DARTS=1000 hi ...
- Ztree + bootstarp-table 使用
Ztree + bootstarp-table 使用 一. Ztree 1.引入js/css文件 Ztree官网 <!--ztree--> <link rel="sty ...
- oracle--LGWR
一,LGWR功能 日志写进程(日志写比数据写更重要),因为内存中的数据一断电就消 失,要做数据的回滚.前滚只能依靠日志文件.log buffer 只是缓冲日志写 二,触发机制 ) 提交命令:commi ...
- SpringBoot第十九篇:邮件服务
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11118340.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 邮件的重要 ...
- Loj #2529. 「ZJOI2018」胖
Loj #2529. 「ZJOI2018」胖 题目描述 Cedyks 是九条可怜的好朋友(可能这场比赛公开以后就不是了),也是这题的主人公. Cedyks 是一个富有的男孩子.他住在著名的 The P ...
- python2升级python3
需求: centos环境,python2.7需要升级为python3.x 1.请先手动(再次)安装 openssl .否则你升级之后,你的pip不能下载,会各种报错的. 比如这种错误: ImportE ...