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,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" 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 ...
随机推荐
- nyoj 经典的连续字串和
import java.util.Scanner; public class 字串和 { public static void main(String[] args) { // TODO Auto-g ...
- Oracle 行拼接 wmsys.wm_concat扩展
将多行数据拼接成一行: --wmsys.wm_concat group by a.flowid; 但有大小限制:字符串缓冲区太小,超过varchar 4000长度.扩展:更改返回类型为clob --T ...
- HTC仅限拨打紧急电话
问题描述: 我手上有台 HTC One V 没碰没撞,突然打不出电话,信号上显示一个叉,屏幕上显示“仅限拨打紧急电话” 解决办法:经百度,原来很多HTC机子都有这种情况,幸好不是硬件坏了,只需按以下步 ...
- HW4.30
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- Windows和Ubuntu双系统,修复UEFI引导的两种办法
查看ubuntu是否是从 efi/uefi 启动的方法: 若 /sys/firmware/efi 存在则是,否则不是.shell命令: [ -d /sys/firmware/efi ] && ...
- python-面向对象(一)——开篇基础
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计) 一.创建类和对象 面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象” 来实现, ...
- 南京Uber优步司机奖励政策(2月1日~2月7日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- Ajax页面跳转
<script type="text/javascript" > $(document).ready(function () { $(&qu ...
- IOS开发之UINavigationController详解
UINavigationController是IOS编程中比较常用的一种容器view controller,很多系统的控件(如UIImagePickerViewController)以及很多有名的AP ...
- 【转】G40-70、G50-70联想小新笔记本SR1000随机Linux改Windows 7系统操作指导
http://support1.lenovo.com.cn/lenovo/wsi/htmls/detail_20140505150749705.html 适用范围:G40-70,G50-70联想小新笔 ...