【SQL入门系列二】SQLZOO 分组

5 SUM and COUNT

Table world
Aggregate functions
SUM, COUNT, MAX, AVG
SUM

//世界总人口
SELECT SUM(population)
FROM world

//Africa的总GDP
SELECT SUM(GDP) FROM world
WHERE continent='Africa'

DISTINCI
去掉SELECT得到的重复项

//列出所有洲
SELECT DISTINCT(continent)
FROM world

ORDER BY
顺序(ASC or DESC)

GROUP BY

//continent和continent中population不小于10 million的国家数量
SELECT continent, COUNT(name) AS numberofcountries
FROM world
WHERE population>=10000000
GROUP BY continent

HAVING
aggregation不出现在WHERE子句中

//population不小于100million的洲
SELECT continent
FROM world
GROUP BY continent
HAVING SUM(population)>= 100000000

小结:
GROUP BY 自动按分组字段进行排序,ORDER BY 也可以按汇总字段来进行排序。
WHERE 过滤行,HAVING 过滤分组,行过滤应当先于分组过滤。
GROUP BY 子句出现在 WHERE 子句之后,ORDER BY 子句之前;
除了汇总字段外,SELECT 语句中的每一字段都必须在 GROUP BY 子句中给出;
NULL 的行会单独分为一组;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值