1.sql groud by 具有分组合并行的作用将groud by 后面的列按行值相同划归合并成一行,进行相同数据的统计工作,一般结合单行函数使用,附加groud by后面的列一起查出。

eg:

计函数 (比如 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

sql groud by 语句相关推荐

  1. SQL update select语句

    SQL update select语句 最常用的update语法是: UPDATE <table_name> SET <column_name1> = <value> ...

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

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

  3. SQL基础---SQL SELECT DISTINCT 语句

    SQL SELECT DISTINCT 语句 本章讲解 SELECT DISTINCT 语句. SQL SELECT DISTINCT 语句 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希 ...

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

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

  5. 将EXCEL中的列拼接成SQL insert插入语句

    工作中经常需要将EXCEL文件中的数据导入到各种数据库,但是对于不熟悉数据库的人来说,如果直接使用命令执行导入,这无疑是一个难题,也是一个风险.这里我们直接在EXCEL文件中拼接成标准的SQL ins ...

  6. SQL ALTER TABLE 语句

    SQL ALTER TABLE 语句 ALTER TABLE 语句 ALTER TABLE 语句用于在已有的表中添加.删除或修改列. SQL ALTER TABLE 语法 如需在表中添加列,请使用下面 ...

  7. SQL SELECT DISTINCT 语句 用法

    SQL SELECT DISTINCT 语句 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值. 关键词 DISTINCT 用于返回唯一不同的值. 语法 ...

  8. 标准SQL的update语句三种用法

    标准SQL的update语句三种用法 一.环境: MySQL-5.0.41-win32 Windows XP professional   二.建立测试环境:   DROP TABLE IF EXIS ...

  9. mysql create很多table,SQL CREATE TABLE 语句

    原标题:SQL CREATE TABLE 语句 SQL CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. 表由行和列组成,每个表都必须有个表名. SQL CREAT ...

最新文章

  1. DataSet导出CSV格式(ASP.NET,C#)
  2. Linux下的Shell工作原理
  3. 同学我看你答题分钱总被淘汰你得充充电了!
  4. java使用Jxl和Poi读写Excel
  5. 帝国cms微信小程序算命小程序开发之指纹算命实现方法
  6. labview和python混编_将数据从LabView发送到Python并取回
  7. 家境一般但被中外合资大学录取了,现在家庭气氛紧张
  8. Android Studio生成签名文件和自动签名
  9. C++下用什么矩阵运算库比较好
  10. 【Leetcode】1214. Two Sum BSTs
  11. LeetCode - 1175 - 质数排列(prime-arrangements)
  12. QT之Excel表格操作
  13. java 自幂数_JAVA 编程01:用JAVA语言实现所有自幂数的输出
  14. 第二章____一元函数微分学
  15. 开机后启动Eclipse报工作空间被占用,为什么??速看!!
  16. axure中交互样式设置鼠标悬停后其他的按下选中无效_Axure交互动作
  17. 我们能做出量子计算机却至今摸不透量子力学,【科技日报】我们能做出量子计算机,却至今摸不透量子力学...
  18. Python作业“骰子游戏”
  19. 第三次作业 - 结对项目1
  20. 软测(五)Web自动化测试下

热门文章

  1. Oracle 收缩表空间一例
  2. 第137篇 荷兰拍卖
  3. PHPNOW如何卸载
  4. canvas画小黄人
  5. Java里Socket的循环往复使用
  6. 新浪微博数据Json格式解析
  7. Java完全自学教程
  8. FL2440 3G上网卡拨号上网,并实现mdev自动挂载
  9. python股票接口_小小- python用雅虎财经(yahoo)接口写简易爬虫获取A股上证所有股票(可以单独选择个股)历史数据...
  10. 推荐一款非常好用的pdf阅读器Xodo 适用于windows系统