您的位置:首页 > 数据库

sql的sum函数(与group by,having子句混合使用)

2013-12-31 17:43 302 查看
SELECT Customer,SUM(OrderPrice) FROM Orders

WHERE Customer='Bush' OR Customer='Adams'

GROUP BY Customer

HAVING SUM(OrderPrice)>1500

Select sum(downloads) as download from factdownloads_new

where date_time='2013-12-11' and storename='anzhi'

结果:3595443702 3253205502 3631413902 3342157901



用别名as:

Select sum(downloads) from factdownloads_new

where date_time='2013-12-11' and storename='hiapk'

结果:8937649006 8927173006 8952359006 8978768006

sum函数

引自:http://www.w3school.com.cn/sql/sql_groupby.asp

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 Orders
GROUP BY Customer

结果集类似这样:

CustomerSUM(OrderPrice)
Bush2000
Carter1700
Adams2000
sum与having一起使用

过滤数据结果:HAVING 子句筛选满足条件的结果集

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用

这个 "Orders" 表:

O_IdOrderDateOrderPriceCustomer
12008/12/291000Bush
22008/11/231600Carter
32008/10/05700Bush
42008/09/28300Bush
52008/08/062000Adams
62008/07/21100Carter
现在,我们希望查找订单总金额少于 2000 的客户。

我们使用如下 SQL 语句:

SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY CustomerHAVING SUM(OrderPrice)<2000

结果集类似:

CustomerSUM(OrderPrice)
Carter1700
现在我们希望查找客户 "Bush" 或 "Adams" 拥有超过 1500 的订单总金额。

我们在 SQL 语句中增加了一个普通的 WHERE 子句:

SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500

结果集:

CustomerSUM(OrderPrice)
Bush2000
Adams2000
更多0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: