我学习的是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="" />

  1. select 类别, sum(数量) as 数量之和
  2. from A
  3. 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:联合的意思,即把两次或多次查询结果合并起来。
要求:两次查询的列数必须一致
推荐:列的类型可以不一样,但推荐查询的每一列,想对应的类型以一

  1. Employees_China:
  1. E_ID E_Name
  2. 01 Zhang, Hua
  3. 02 Wang, Wei
  4. 03 Carter, Thomas
  5. 04 Yang, Ming

Employees_USA:

  1. E_ID E_Name
  2. 01 Adams, John
  3. 02 Bush, George
  4. 03 Carter, Thomas
  5. 04 Gates, Bill

使用 UNION 命令实例

列出所有在中国和美国的不同的雇员名:

 
  1. SELECT E_Name FROM Employees_China
  2. UNION
  3. SELECT E_Name FROM Employees_USA

结果:

  1. E_Name
  2. Zhang, Hua
  3. Wang, Wei
  4. Carter, Thomas
  5. Yang, Ming
  6. Adams, John
  7. Bush, George
  8. Gates, Bill

使用 UNION ALL 命令实例

UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。

实例:
列出在中国和美国的所有的雇员:

  1. SELECT E_Name FROM Employees_China
  2. UNION ALL
  3. SELECT E_Name FROM Employees_USA

结果

  1. E_Name
  2. Zhang, Hua
  3. Wang, Wei
  4. Carter, Thomas
  5. Yang, Ming
  6. Adams, John
  7. Bush, George
  8. Carter, Thomas
  9. Gates, Bill

888

group By 和 Union 、 Union all的用法的更多相关文章

  1. union内嵌struct用法

      // union内嵌struct用法 // 众所周知,union为联合体,struct为结构体.下面根据实例谈谈用法   #include <stdio.h>   #include & ...

  2. ORACLE中union/union all/Intersect/Minus用法

    Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All,对两个结果集进行并集操作,包括重复行,不进行排序: Intersect,对两个结果集进行交集操作,不包 ...

  3. oracle中union和minus的用法【oracle技术】

    UNION是将两个或者两个以上的搜索结果集合并在一起!这个合并是有条件滴!记录的类型要匹配啦,记录的列数要一样啦!看看下面简单的例子: 有的朋友会说为什么要用union呢,直接用txt3 in ('I ...

  4. MySql语句中Union和join的用法

    Union UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT ...

  5. 关于SQL中Union和Join的用法

    转自帘卷西风的专栏(http://blog.csdn.net/ljxfblog) https://blog.csdn.net/ljxfblog/article/details/52066006 Uni ...

  6. 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 ...

  7. mysql union ,UNION RESULT

    mysql> explain select * from t100 union all select * from t200; +----+--------------+------------ ...

  8. 数据库学习之五--Union, Union All和Intersect

    一.定义 Union操作符用于合并两个或多个SELECT语句的结果集: 注:1. Union连接的Select语句之间必须拥有相同数量的列: 2. 列也必须拥有相似的数据类型: 3. 每条 SELEC ...

  9. MySQL UNION 与 UNION ALL 语法与用法

    MySQL UNION 语法 MySQL UNION 用于把来自多个 SELECT 语句的结果组合到一个结果集合中.语法为: SELECT column,... FROM table1 UNION [ ...

  10. mysql union 与 union all 语法及用法

    1.mysql   union  语法 mysql   union 用于把来自多个select  语句的结果组合到一个结果集合中.语法为: select  column,......from tabl ...

随机推荐

  1. CUDA编程-(3)图形流水线时代

    图形流水线时代 图中所说的顶点,为多边型的角.GeForce系列设计图形流水型的目的就是渲染三角形的图元,这里指三角线图元的角.三角形图元越小,图片的质量就越好. 顶点控制的作用:从CPU中,接受参数 ...

  2. RedHat/CentOS系统信息查看命令大全

    系统# uname -a               # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue   # 查看操作系统版本# cat /proc/cpuinfo   ...

  3. MVC Model Binder 规则

    http://www.cnblogs.com/mszhangxuefei/archive/2012/05/15/mvcnotes_30.html 使用默认的Model Binder(Using the ...

  4. ubuntu-15.04 下编译 ijkplayer 安卓版

    我的环境: 1.win7 主系统 2.VirtualBox 5.1.2 虚拟机 3.ubuntu-15.04-desktop-amd64.iso 镜像文件 4.android-ndk-r10e-lin ...

  5. 安装Office时出现windows installer服务不能更新一个或多个受保护的windows文件错误的解决方法

    今天在Windows XP上安装Microsoft Office 2010时,总是遇到“Windows Installer服务不能更新一个或多个受保护的windows文件,安装失败,正在回滚更改”提示 ...

  6. String+,StringBuilder,String.format运行效率比较

    实现String字符串相加的方法有很多,常见的有直接相加,StringBuilder.append和String.format,这三者的运行效率是有差异的,String是final类型的,每次相加都会 ...

  7. 【JAVA - SSM】之MyBatis插入数据后获取自增主键

    很多时候,我们都需要在插入一条数据后回过头来获取到这条数据在数据表中的自增主键,便于后续操作.针对这个问题,有两种解决方案: (1)先插入,后查询.我们可以先插入一条数据,然后根据插入的数据的各个字段 ...

  8. jqChart动态数据

    <link rel="stylesheet" type="text/css" href="../../css/jquery.jqChart.cs ...

  9. [Node.js] Exporting Modules in Node

    In this lesson, you will learn the difference between the exports statement and module.exports. Two ...

  10. the Linux Kernel: Traffic Control, Shaping and QoS

    −Table of Contents Journey to the Center of the Linux Kernel: Traffic Control, Shaping and QoS 1 Int ...