SQL语句详细说明[部分]
SQL
语句教程
(11) Group By
我们现在回到函数上。记得我们用
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_nameSUM(Sales)
Los Angeles $1800
San Diego $250
Boston $700
当我们选不只一个栏位,且其中至少一个栏位有包含函数的运用时,我们就需要用到
GROUP BY
这个指令。在这个情况下,我们需要确定我们有
GROUP BY
所有其他的栏位。换句话说,除了有包括函数的栏位外,我们都需要将其放在
GROUP BY
的子句中。
SQL
语句教程
(12) HАVING
那我们如何对函数产生的值来设定条件呢?举例来说,我们可能只需要知道哪些店的营业额有超过
$1,500
。在这个情况下,我们不能使用
WHERE
的指令。那要怎么办呢?很X地,
SQL
有提供一个
HАVING
的指令,而我们就可以用这个指令来达到这个目标。
HАVING
子句通常是在一个
SQL
句子的最后。一个含有
HАVING
子句的
SQL
并不一定要包含
GROUP BY
子句。
HАVING
的语法如下:
SELECT “
栏位
1″, SUM(“
栏位
2″) FROM “
表格名
” GROUP BY “
栏位
1″ HАVING (
函数条件
)
请读者注意:
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 HАVING SUM(sales) > 1500
结果
:
store_nameSUM(Sales)
Los Angeles $1800
原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/114456.html