星空网 > 软件开发 > 数据库

SQL之GROUP BY 语句

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

GROUP BY 语句

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

SQL GROUP BY 语法

SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_name

SQL GROUP BY 实例

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

O_IdOrderDateOrderPriceCustomer
12008/12/291000Bush
22008/11/231600Carter
32008/10/05700Bush
42008/09/28300Bush
52008/08/062000Adams
62008/07/21100Carter

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

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

我们使用下列 SQL 语句:

SELECT Customer,SUM(OrderPrice) FROM OrdersGROUP BY Customer

结果集类似这样:

CustomerSUM(OrderPrice)
Bush2000
Carter1700
Adams2000

 

很棒吧,对不对?

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

SELECT Customer,SUM(OrderPrice) FROM Orders

结果集类似这样:

CustomerSUM(OrderPrice)
Bush5700
Carter5700
Bush5700
Bush5700
Adams5700
Carter5700

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

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

GROUP BY 一个以上的列

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

SELECT Customer,OrderDate,SUM(OrderPrice) FROM OrdersGROUP BY Customer,OrderDate





原标题:SQL之GROUP BY 语句

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

外贸做久了发现越来越难做,为什么呢?:https://www.ikjzd.com/articles/113767
四川泸州获批设立跨境电子商务综合试验区:https://www.ikjzd.com/articles/113768
卖家新引流神器?亚马逊新功能Amazon Post你必须了解!:https://www.ikjzd.com/articles/113769
2020:制胜下一个十年 出口跨境电商全球布局加速度:https://www.ikjzd.com/articles/113770
2019年速卖通的逆势增长,阿里做了这三件事!:https://www.ikjzd.com/articles/113771
亚马逊FBA货件被分仓,如何机智处理?:https://www.ikjzd.com/articles/113772
雅鹿与时代赛跑52年,奔向品牌生态化丨亿邦智库 :https://www.kjdsnews.com/a/1836560.html
淘宝给商家发了个“大红包” :https://www.kjdsnews.com/a/1836561.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流