我们现在回到函数上。记得我们用
SUM
这个指令来算出所有的 Sales (营业额)吧!如果我们的需求变成是要算出每一间店 (store_name) 的营业额 (sales),那怎么办呢?在这个情况下,我们要做到两件事:第一,我们对于 store_name 及 Sales 这两个栏位都要选出。第二,我们需要确认所有的 sales 都要依照各个 store_name 来分开算。这个语法为:
SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1"
在我们的示范上
Store_Information 表格
store_name
sales
date
Los Angeles
$1500
jan-05-1999
San Francisco
$300
jan-08-1999
Boston
$700
jan-08-1999
我们就打入
SELECT store_name, SUM(Sales) FROM Store_Information GROUP BY store_name
结果 :
store_name SUM(Sales)
Los Angeles $1800
San Diego $250
Boston $700
当我们选不只一个栏位,且其中至少一个栏位有包含函数的运用时,我们就需要用到 GROUP BY 这个指令。在这个情况下,我们需要确定我们有 GROUP BY 所有其他的栏位。换句话说,除了有包括函数的栏位外,我们都需要将其放在 GROUP BY 的子句中。
SQL 语句教程 (12) HAVING
那我们如何对函数产生的值来设定条件呢?举例来说,我们可能只需要知道哪些店的营业额有超过 $1,500。在这个情况下,我们不能使用
WHERE
的指令。那要怎么办呢?很幸运地,SQL 有提供一个
HAVING
的指令,而我们就可以用这个指令来达到这个目标。
HAVING
子句通常是在一个 SQL 句子的最后。一个含有 HAVING 子句的 SQL 并不一定要包含
GROUP BY
子句。HAVING
的语法如下:
SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1" HAVING (函数条件)
请读者注意: GROUP BY 子句并不是一定需要的。
在我们Store_Information 表格这个例子中
Store_Information 表格
store_name
sales
date
Los Angeles
$1500
jan-05-1999
San Francisco
$300
jan-08-1999
Boston
$700
jan-08-1999
我们打入
SELECT store_name, SUM(sales) FROM Store_Information GROUP BY store_name HAVING SUM(sales) > 1500
结果 :
store_name SUM(Sales)
Los Angeles $1800
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 雷普利 Ripley
- 燕云十六声卷二烈言所有宝箱位置一览
- 崩坏星穹铁道神秘人交给你的线索位置大全
- 少年西游记2众生轮回活动攻略 2个玩法解析
- 出发吧麦芬古遗迹上的幽影试炼怎么过 古遗迹上的幽影阵容打法攻略
- 出发吧麦芬三宝齐聚黄金船试炼怎么过 三宝齐聚黄金船阵容打法攻略
- 鸣潮渊武适配武器选什么 渊武四星五星武器推荐
- 618优选技嘉B760M冰雕X,纯白海景房装机小钢炮
- 《荒野大镖客:救赎》或将加入XGP和PS Premium
- 荒野之息 vs 王国之泪!IGN评选最佳Switch游戏TOP25
- 痛仰乐队.2017-今日青年【摩登天空】【WAV+CUE】
- 【柔顺爵士】Threestyle-2024-NoMatterWhat(FLAC)
- 马人乐团.2011-鞭风再起【喜玛拉雅】【WAV+CUE】
- 杨奇谈《黑神话:悟空》:感谢老师们几年来胸怀明月 休休有容
- 《黑神话:悟空》金箍首次亮相!疑致敬《大话西游》