合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句。

GROUP BY 语句

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。

SQL GROUP BY 语法

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name

SQL GROUP BY 实例

我们拥有下面这个 "Orders" 表:

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

现在,我们希望查找每个客户的总金额(总订单)。

我们想要使用 GROUP BY 语句对客户进行组合。

我们使用下列 SQL 语句:

SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer

结果集类似这样:

Customer SUM(OrderPrice)
Bush 2000
Carter 1700
Adams 2000

很棒吧,对不对?

让我们看一下如果省略 GROUP BY 会出现什么情况:

SELECT Customer,SUM(OrderPrice) FROM Orders

结果集类似这样:

Customer SUM(OrderPrice)
Bush 5700
Carter 5700
Bush 5700
Bush 5700
Adams 5700
Carter 5700

上面的结果集不是我们需要的。

那么为什么不能使用上面这条 SELECT 语句呢?解释如下:上面的 SELECT 语句指定了两列(Customer 和 SUM(OrderPrice))。"SUM(OrderPrice)" 返回一个单独的值("OrderPrice" 列的总计),而 "Customer" 返回 6 个值(每个值对应 "Orders" 表中的每一行)。因此,我们得不到正确的结果。不过,您已经看到了,GROUP BY 语句解决了这个问题。

GROUP BY 一个以上的列

我们也可以对一个以上的列应用 GROUP BY 语句,就像这样:

SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders
GROUP BY Customer,OrderDate

转载于:https://www.cnblogs.com/ChineseIntelligentLanguage/p/6431132.html

CHIL-SQL-GROUP BY 语句相关推荐

  1. SQL GROUP BY 语句

    合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句. GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 ...

  2. 第53章 SQL GROUP BY 语句教程

    GROUP BY 语句可结合一些聚合函数来使用 GROUP BY 语句 GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 SELECT col ...

  3. 解决数据倾斜一:RDD执行reduceByKey或则Spark SQL中使用group by语句导致的数据倾斜

    一:概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题--数据倾斜,此时Spark作业的性能会比期望差很多.数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的 ...

  4. mysql group by 天_MySQL group by语句如何优化

    在MySQL中,新建立一张表,该表有三个字段,分别是id,a,b,插入1000条每个字段都相等的记录,如下: mysql> show create table t1G ************* ...

  5. MySQL补充部分-SQL逻辑查询语句执行顺序

    一 SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOI ...

  6. mysql五补充部分:SQL逻辑查询语句执行顺序

    mysql五补充部分:SQL逻辑查询语句执行顺序一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SE ...

  7. 对Group By 语句的一次优化过程

    对Group By 语句的一次优化过程 对Group By 语句的一次优化过程 作者: fuyuncat 来源: www.HelloDBA.com 生产环境中发现一条语句很慢,拿回来一看,其实是一个简 ...

  8. 《零基础》MySQL GROUP BY 语句(十九)

    GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. GROUP BY 语法 SELECT column_name, funct ...

  9. sql缩进提高语句的可读性_为什么要使用列缩进来提高代码的可读性

    sql缩进提高语句的可读性 by Leonardo Carreiro 莱昂纳多·卡雷罗(Leonardo Carreiro) 为什么要使用列缩进来提高代码的可读性 (Why you should us ...

  10. SQL Server SQL高级查询语句小结(转)

    --select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select disti ...

最新文章

  1. python量化策略代码_手把手教你用三行python 代码做一个动量策略「量化投资系列」...
  2. Python3 关键字nonlocal和global的用法与区别
  3. 当程序开发人员开始抛弃技术时,是否意味着噩梦的开始?抛弃了SQL Server 2000才发现客户的简单问题真的很难解决...
  4. SAP Spartacus 的页面设计思路
  5. Linux下Samba服务器搭建
  6. M1 mac 使用docker 安装mysql
  7. 【shell实例】定时21:00-21:05,循环调用DSQL脚本,其它时段自动退出
  8. 你真的了解 Load Balance 嘛
  9. java里的进制转换函数_基于Java中进制的转换函数详解
  10. 数据库 之 Mysql的表分区
  11. 洛谷P3709 大爷的字符串题(莫队)
  12. js返回上一页并刷新、返回上一页、自动刷新页面
  13. 链表的基本操作——学生信息管理表
  14. 用于AB测试的减少方差方法总结和对比
  15. 你现在还在自己洗碗?教你制作单片机的洗碗机控制器
  16. Mybatis Generator(简称MBG)的最完整配置文件详解
  17. 车载网络信号的编码方式
  18. Android 开发第七弹:简易时钟(秒表)
  19. 利用腾讯公有云建设灾备中心的解决方案
  20. 效率高、数据精,河段河道地形测量这样操作!

热门文章

  1. scenario知识点总结
  2. 网络编程经典好书推荐
  3. 网页设置MP4背景,解决html音乐无法自动播放
  4. js 中的单目运算符,双目运算符与三目运算符区别
  5. linux--uuid
  6. (翻译)2016美国数学建模MCM D题 翻译:测量协会信息网络的演变和影响
  7. 053试题 21 / 198 /200 / 289/355/363/650/700 - duplicate database
  8. 【分享】搜书V2.19,上千书源全网免费搜索阅读,无广告纯净版 秒杀轻阅和阅读...
  9. 【微信小程序】别踩白块源码免费分享
  10. C - 数字三角形问题