group By 和 Union 、 Union all的用法
我学习的是MySQL,学习写sql语句过程中遇到Group By 和 Union。
大家乐意看这两个链接,写的很好
Group By: www.cnblogs.com/rainman/archive/2013/05/01/3053703.html
Union : http://www.jb51.net/article/48933.htm
博主只是为了加强记忆才写博客的,基本上是盗用
首先我们来看什么是group By。
Group By 就是分组的意思,根据***分组
这是原始表
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAADYCAIAAAAPqRrAAAAJqklEQVR4nO2aXZajOhCD2f+qsjPfh+GmwX9xQC4jRXqY43GTUqn92RBObymlzbKeoZRSSmn7B+VLUc7FJUNJLOFchpJVwrkMJauEcxlKVgnnmgjlu2A5eP/3qOpngW0AS/0bHP8tryyFaiNrZlLB/mLNSzf9pOwv3nGGAsrXIUtrp7UmWaAcAa6zGyFtTIFycFeVUPZX+nIzwFJlkOrijSzt/WaApapLsxUnRX9BUc0sPinLBT5+ENgDUOXilS7VsPA2ZhTsMNdClgnKjytXTj4fyuPKvRoZ+8J2AlQfwVc3GraNibfvwR8RQbnVjoqMzuqV2DZmFDxus4/MwbNkxSNeCVUrV5M/HMpqwRaUU4+T0vF+qdYSdGCdkW4WlOMByuTZPKQZYKlqkNKitbRATSqYIVgaVZcP28b0k7IaLPtpedkzoXw1OiyX7eNuBHaCLdj6931NC1ZgGxHfvsvxx58+FspX4wvBx10H16qT8n0xfJu9K8+9fXfmj4va2ouoZoClylYzo+2TgM0AS7UQPM5XU8DRnAXlo+RcXMqhtKwn6ARlUpRzcclQEks+l6Hkk3wuQ8kn+VyGkk/yuQwln+RzGUo+yecylHctytdsAaYzamYRrs3c7GEfJEP5bIsA04yzyzOoNgzl0y0CTH8aysh7XAq/fc/2OppCipR1/rD4BkHi23c1cIyjmN19ow58rfHIlbCusHU/urJ/IXiCHfCkbJ0Ug1BiI/ukxFsQ5crWonMfr17T+hSsqxnVO66Rh2WYC+8zZVXZBeVHqhUgLe2DFAhlsJyLS4aSWPK5digt6wk6Qblqc0yVc3HJUBJLPpeh5JN8LkPJJ/lchpJP8rkMJZ/kcxlKPsnnMpQAl+M7thjHGTWzFCMz2GYMJd4i7NcINypTjMyk/zGFt2EoYRY/CCW2mTVQCtzmZLyqa3E8ArNJTSirgWMcZYxQdh34WmNNKFP4d4LgzRYm4EnZOil+BUrJk3LJ4zj8pOzcx6vX6ECZDrtT5gzbzppt9zaFFGkpu6D8SGfmZkv7IC3a7gFyLi4ZSmLJ59qhtKwn6ATlqs0xVc7FJUNJLPlchpJP8rkMJZ/kcxlKPsnnMpR8ks9lKPkknysIyuNbqDDNdszqZy/bwnwvfLysUDZ/beZmY/sgRe08MSjL5YnxhdQvt1M2vjaD6spQYur/IJTYltIqKINv4oayU6F1Ey8t+lCK3L7DuDSUHyuMRBA/KbNBmGNAfXYoL9zQsS0lQwmvTw1lHzLxLzpKz5RlnLCA8GfK7azqNYMzN7vaBynw6AqWc3HJUBJLPtcOpWU9QScoV22OqXIuLhlKYsnnMpR8ks9lKPkkn8tQ8kk+l6Hkk3wuQ8kn+VxBUB7fQoUpxjF7xxbjePPjZYUyxbWZm43tgxS4eAEuwY5/v0ceKMsKGWeXZ1BdGcqnW8wwNZR/lly3uUELxlytnqsH/0cEFW7fYesXfFIS5erA1xqPXAnrClt3yJJn8b6yIMpVrsWFGzqkk3pX8NKfLXkW7ysLolzZWnTu49VrWp+CdTWjesuS7tlr0IUuV9bzdlb1msFP3exqH6TALR4s5+KSoSSWfK4dSst6gk5QrtocU+VcXDKUxJLPZSj5JJ/LUPJJPpeh5JN8LkPJJ/lchpJP8rmCoDy+hQpTjGP2ji3G8ebHywplipGZ+81USy34g4wwxWy2SDuUUQesbeDPL/7oge5GQ0ls9xwoIc2UpfxXQhgjrlyttTgegdmkLJTZIMxRzA54Uo6gZiinOIrZzYDywg0d1UylK2zdIUuexfvKgihXthad+3j1Giko6Z69Bl3ocmU9b2dVrxmcudnVPkiBWzxYzsUlQ0ks+Vw7lJb1BJ2gXLU5psq5uGQoiSWfy1DyST6XoeSTfC5DySf5XIaST/K5DCWf5HMZSoDL8R1bjOOMmlmKjzPVV4w3e9gHyVCCLMJ+jXCjMsW3M9g2DCXMwlCi2giFMvhOZyj7Rcq1ON6as8nqDHZBF0BZDRzjONuFbrN14GuN+9uP9Zky/iEh2JERytaMoeR2ZLwDdBAsZ8afMlFd+ZkS4BIZKk14ptzOKi8Yn7nZ0j5IK86wGDkXlwwlseRzVU5vy1qlE5SrNsdUOReXDCWx5HMZSj7J5zKUfJLPZSj5JJ/LUPJJPpeh5JN8LkMJcDm+Y4txnFEzSzEyg+3HUOItwn6NcKMyxcjMe2wov5ChvFDwKyjLH0Ha8F8JwSy4clXXIqPtONaEsho4xnG2C91m68DXGndmFKAMU7AjI5StmfGTErghDSXehRfKPqP9LzqQfrI6fqYEuESGShOeKbezygtaM8d5SEv7IK04w2LkXFwylMSSz1U5vS1rlU5QrtocU+VcXDKUxJLPZSj5JJ/LUPJJPpeh5JN8LkPJJ/lchpJP8rkMJcDl+I4txnFGzSzFtZmbPeyDZChBFmG/RrhRmeLaDKoNQwmz+DUo4S2tgTL4Tufbd79I2fYfFsNQct++q4FjHGMsiHJ14GuNNU/K+IcEQzleoXVkJkNJ56gBZR8y8S86fqZEOUKKvNveziovGJ+52dI+SCvOsBg5F5cMJbHkc1VOb8tapROUqzbHVDkXlwwlseRzGUo+yecylHySz2Uo+SSfy1DyST6XoeSTfC5DedeifM0WYDqjZhbh2szNHvZBMpQIi8jfIdwr4+zyDKoNQ2mv34ZS4Da31ghoV12L6sH/EUHi23f8nU7PCGXXga81HrkS1hW27ohlmAzleIXO4deBEhvcUFIaoew+3n+/faaEyM+UlEZAu+NabGeVF1Rnqp+62dI+SCvOsBg5F5cMJbHkc1VOb8tapROUqzbHVDkXlwwlseRzGUo+yecylHySz2Uo+SSfy1DyST6XoeSTfC5Daa+95vFN4eAMthlDCTaihjIjb3AmoYMbSrDLb0KJbWYNlNXzf6pdmAsdlP178a9AWQ0c4xhgwQVlB77WWBzKMIXlorsDlBU6X18MJasjl9fHb9C/AmUSfaZ8e3HlOq7FdlZ5wfjMzZb2QVpxhsXIubhkKIkln6tyelvWKp2gXLU5psq5uGQoiSWfy1DyST6XoeSTfC5DySf5XIaST/K5DCWf5HMZSmT9mN/kDJfsTeHgDLYZQwkoXi4PKZQZeYMzCR3ZUE6p/2tQYptZA2XYWfK2C65PBGV1LY5HYDapCWU1cIxjWH0WKDvwtcaaUCb0n9+N2AXXZ4EyFWvR+fqiDKVPynm+lyuUwJUWylCmw+5kWbx+8SxIWDTsSVkqu6D8SGfmZkv7IAVCGSzn4pKhJJZ8rv8AZOBO0gJvrDgAAAAASUVORK5CYII=" alt="" />
select 类别, sum(数量) as 数量之和
from A
group by 类别
执行后
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJIAAABGCAIAAACotlrgAAAChUlEQVR4nO2ZUZKEIAxEvf+pvBn7YZWTIQkwQoLJdn9MWQrpwAsq41FKOaBwurCdGZV4XMAWT8AWUsAWUsAWUlbY7oD84GNMJPZdmMZgs+uA/vKWXI+tG937HY1WW3sK6Jnt2E6Sp1Zn2smGRRc8PzNeZ4uxifUo5kq7nPq6nEzmWc6nNL9iy+5VDUZjKoYS3rXa+DTRjgtzGG/Mc6giiAP5KYcu+NFUtzzb+Mm92A6ywsRkGiupmvrBBMTxbsPWHkOjeDdiq6z5r9aybdF25yXyU8K2GwBtkfFS3YhNbKxhm19n5zezV2ATByYO8pBqfDz1wWSe5ax155dEiy4zLcI2bFX0Rirvwaa5V91HarFrKoLXQjWC2L5J8uPu1S3YTjJ9tG+35niEQd93rTatauj5qtC6fWeSGWzG06iCsAVWS4zZaDMzzPXYXqXE4zrwdTukLmwloxKPC9jiCdhCCthCCthCCthCCthCCthWxqd7KmtfYHsenMbXjq2sHWx2yXO1Zcbmcw+hdp7xc94kbxfPKnGLn3+1Adu8L1bbmvhpsZXvL0Q+dqbB+ctkwmebvxKPC9ji6YMNCqaSuip3p2AiYAspYAspYAspYAspYAspYAspP2z3ZsNT1o5VfLqnsvbd8Feym0wdK0LasZW1g81t5uDi6fhfsDnfKoFtjVl14OboE7/6y9DUF9jWxwe2NY4+8d0GiGfbVHD+MplwA+CvxOMCtnj6YIOCqaSuyt0pmAjYQgrYQgrYQgrYQgrYQgrYQgrYpoLfO6jC9r52vgXYlkSu5tBhMoFtvUtCbD73EGpnHd+fWcH3tuUumbG5CdjWmDm4+DhqqBJiK7mebeJY3LD9AW9KNe/E3M1WAAAAAElFTkSuQmCC" alt="" />
相信大家看出来了,这是按照类别分组,结果里只剩下abc三个类别,数量之和就是相同类别间的相加。
Union Union all
union:联合的意思,即把两次或多次查询结果合并起来。
要求:两次查询的列数必须一致
推荐:列的类型可以不一样,但推荐查询的每一列,想对应的类型以一
Employees_China:
E_ID E_Name
01 Zhang, Hua
02 Wang, Wei
03 Carter, Thomas
04 Yang, Ming
Employees_USA:
E_ID E_Name
01 Adams, John
02 Bush, George
03 Carter, Thomas
04 Gates, Bill
使用 UNION 命令实例
列出所有在中国和美国的不同的雇员名:
SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA
结果:
E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Gates, Bill
使用 UNION ALL 命令实例
UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。
实例:
列出在中国和美国的所有的雇员:
SELECT E_Name FROM Employees_China
UNION ALL
SELECT E_Name FROM Employees_USA
结果
E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Carter, Thomas
Gates, Bill
888
group By 和 Union 、 Union all的用法的更多相关文章
- union内嵌struct用法
// union内嵌struct用法 // 众所周知,union为联合体,struct为结构体.下面根据实例谈谈用法 #include <stdio.h> #include & ...
- ORACLE中union/union all/Intersect/Minus用法
Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All,对两个结果集进行并集操作,包括重复行,不进行排序: Intersect,对两个结果集进行交集操作,不包 ...
- oracle中union和minus的用法【oracle技术】
UNION是将两个或者两个以上的搜索结果集合并在一起!这个合并是有条件滴!记录的类型要匹配啦,记录的列数要一样啦!看看下面简单的例子: 有的朋友会说为什么要用union呢,直接用txt3 in ('I ...
- MySql语句中Union和join的用法
Union UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT ...
- 关于SQL中Union和Join的用法
转自帘卷西风的专栏(http://blog.csdn.net/ljxfblog) https://blog.csdn.net/ljxfblog/article/details/52066006 Uni ...
- sql inner join , left join, right join , union,union all 的用法和区别
Persons 表: Id_P LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fift ...
- mysql union ,UNION RESULT
mysql> explain select * from t100 union all select * from t200; +----+--------------+------------ ...
- 数据库学习之五--Union, Union All和Intersect
一.定义 Union操作符用于合并两个或多个SELECT语句的结果集: 注:1. Union连接的Select语句之间必须拥有相同数量的列: 2. 列也必须拥有相似的数据类型: 3. 每条 SELEC ...
- MySQL UNION 与 UNION ALL 语法与用法
MySQL UNION 语法 MySQL UNION 用于把来自多个 SELECT 语句的结果组合到一个结果集合中.语法为: SELECT column,... FROM table1 UNION [ ...
- mysql union 与 union all 语法及用法
1.mysql union 语法 mysql union 用于把来自多个select 语句的结果组合到一个结果集合中.语法为: select column,......from tabl ...
随机推荐
- wojilu中的路由
要看2个地方,一个是route.config,另一个是wojilu.Members.Sites.Domain.SiteMenu.config,这2部分综合起作用.
- Linux学习笔记32——select()函数分析【转】
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect.accept.recv或recvfrom这样的阻塞程序 ...
- 路径和 二叉树 leecode
题目不难,很快ac,纯粹靠手感.https://oj.leetcode.com/problems/sum-root-to-leaf-numbers/ /** * Definition for bina ...
- < < < 2013年国家集训队作业 > > >
完成题数/总题数: 道/37道 1. A1504. Book(王迪): 数论+贪心 ★★☆ 2013中国国家集训队第二次作业 2. A1505. 树(张闻涛): 倍增LCA+可 ...
- Linux C 编译错误总结
1. test.c:59:5: warning: incompatible implicit declaration of built-in function ‘memset’ [enabled by ...
- hihocoder 1077线段树
http://hihocoder.com/problemset/problem/1077 #include <bits/stdc++.h> using namespace std; #de ...
- RestService中的 get post put delete
HTTP 定义了与服务器交互的不同方法,最基本的有四种方法:GET,POST,PUT,DELETE.URL即资源描述符,我们可以这样认为:一个URL地址, 用于描述一个网络上的资源,而HTTP中的GE ...
- PAT 1004. Counting Leaves (30)
A family hierarchy is usually presented by a pedigree tree. Your job is to count those family membe ...
- cocos2dx 以子弹飞行为例解说拖尾效果类CCMotionStreak
在游戏开发中,有时会须要在某个游戏对象上的运动轨迹上实现渐隐效果.比方子弹的运动轨迹,假设不借助引擎的帮助,这样的效果则须要通过大量的图片来实现.而Cocos2D-x的拖动渐隐效果类CCMotionS ...
- 史上比较用心的纯代码实现 AutoLayout
入职有两三个月了吧,都是使用 Objective-C 纯代码(虽然有时候偷偷参杂一些 Swift 开源库)来编写公司APP,写布局的时候几乎都是要么在初始化的时候用 initWithFrame,要么就 ...