Foxtable(狐表)用户栏目专家坐堂 → [求助]SQL指点下 谢谢


  共有3388人关注过本帖树形打印复制链接

主题:[求助]SQL指点下 谢谢

帅哥哟,离线,有人找我吗?
Bin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/18 14:23:00 [显示全部帖子]

汇总 谁?


参考帮助的group by 语句 试试看是否能满足你需求

示例二

更多的时候,聚合函数是GROUP BY关键词配合使用的,用于进行分组统计。

例如统计每个客户订购产品的数量:

SELECT 客户,SUM(数量) AS 数量 FROM {订单} GROUP BY 客户

分组列必须同时包括在SELECT子句和GROUP BY子句中,例如上面的客户列。

示例三

统计每个客户的订单数、订购数量、订购金额:

SELECT 客户,Count(*) AS 订单数, SUM(数量) AS 数量, SUM(数量 * 单价 * (1 - 折扣)) AS 金额 FROM {订单} GROUP BY 客户

注意金额列是通过一个表达式计算得出的。

示例四

可以有多个分组列,例如统计每个客户订购不同产品的数量:

SELECT 客户, 产品, SUM(数量) AS 数量 FROM {订单} GROUP BY 客户,产品

四、HAVING字句

HAVING和WHERE有点类似,不同的是WHERE用于过滤记录,而HAVING用于过滤分组。

例如我要统计出定购PD01产品的客户以及其订购数量,而且只列出总订购数量超过500的客户:

SELECT 客户,SUM(数量) FROM {订单} WHERE 产品 = 'PD01' GROUP BY 客户 HAVING SUM(数量) > 500


 回到顶部