25
iPhone_iPad_Mac_手機_平板_蘋果apple
聚合函數__函數_SQL語法參考_雲數據庫 OceanBase-阿裏雲
聚合函數對一組值執行計算並返回單一的值。聚合函數忽略空值。聚合函數經常與SELECT語句的GROUP BY子句一同使用。
所有聚合函數都具有確定性。任何時候用一組給定的輸入值調用它們時,都返回相同的值。
在OceanBase的聚合函數中,Value表達式隻能出現一個。例如:不支持COUNT(c1, c2),僅支持COUNT(c1)。
AVG(([DISTINCT] expr)
返回指定組中的平均值,空值被忽略。DISTINCT選項可用於返回expr的不同值的平均值。若找不到匹配的行,則AVG()返回NULL。
Oceanbase>select * from oceanbasetest;
+----+------+------+
| id | ip | ip2 |
+----+------+------+
| 1 | 4 | NULL |
| 3 | 3 | NULL |
| 4 | 3 | NULL |
+----+------+------+
3 rows in set (0.01 sec)
Oceanbase>select avg(ip2), avg(ip), avg(distinct(ip)) from oceanbasetest;
+----------+---------+-------------------+
| avg(ip2) | avg(ip) | avg(distinct(ip)) |
+----------+---------+-------------------+
| NULL | 3.3333 | 3.5000 |
+----------+---------+-------------------+
1 row in set (0.00 sec)
Oceanbase>select avg(distinct(ip)),avg(ip),avg(ip2) from oceanbasetest;
+-------------------+---------+----------+
| avg(distinct(ip)) | avg(ip) | avg(ip2) |
+-------------------+---------+----------+
| 3.5000 | 3.3333 | NULL |
+-------------------+---------+----------+
1 row in set (0.00 sec)
COUNT([DISTINCT] expr)
COUNT([DISTINCT] expr)返回SELECT語句檢索到的行中非NULL值的數目。若找不到匹配的行,則COUNT()返回0。DISTINCT選項可用於返回expr的不同值的數目。
COUNT(*)的稍微不同之處在於,它返回檢索行的數目,不論其是否包含NULL值。
Oceanbase>select * from oceanbasetest;
+----+------+------+
| id | ip | ip2 |
+----+------+------+
| 1 | 4 | NULL |
| 3 | 3 | NULL |
| 4 | 3 | NULL |
+----+------+------+
3 rows in set (0.00 sec)
Oceanbase>select count(ip2), count(ip), count(distinct(ip)), count(*) from oceanbasetest;
+------------+-----------+---------------------+----------+
| count(ip2) | count(ip) | count(distinct(ip)) | count(*) |
+------------+-----------+---------------------+----------+
| 0 | 3 | 2 | 3 |
+------------+-----------+---------------------+----------+
1 row in set (0.00 sec)
MAX([DISTINCT] expr)
返回指定數據中的最大值。
MAX()的取值可以是一個字符串參數;在這些情況下,它們返回最大字符串值。DISTINCT關鍵字可以被用來查找expr的不同值的最大值,這產生的結果與省略DISTINCT 的結果相同。
假設表a有三行數據:id=1,num=10;id=2,num=20;id=3,num=30。
Oceanbase>SELECT MAX(num) FROM a;
+-----------------+
| MAX(num) |
+-----------------+
| 30 |
+-----------------+
1 row in set (0.00 sec)
MIN([DISTINCT] expr)
返回指定數據中的最小值。
MIN()的取值可以是一個字符串參數;在這些情況下,它們返回最小字符串值。DISTINCT關鍵字可以被用來查找expr 的不同值的最小值,然而,這產生的結果與省略DISTINCT 的結果相同。
假設表a有三行數據:id=1,num=10;id=2,num=20;id=3,num=30。
Oceanbase>SELECT MIN(num) FROM a;
+----------------+
| MIN(num) |
+----------------+
| 10 |
+----------------+
1 row in set (0.00 sec)
SUM([DISTINCT] expr)
返回expr 的總數。若返回集合中無任何行,則SUM()返回NULL。DISTINCT關鍵字可用於求得expr不同值的總和。
若找不到匹配的行,則SUM()返回NULL。
Oceanbase>select * from oceanbasetest;
+------+------+------+
| id | ip | ip2 |
+------+------+------+
| 1 | 4 | NULL |
| 3 | 3 | NULL |
| 4 | 3 | NULL |
+------+------+------+
3 rows in set (0.00 sec)
Oceanbase>select sum(ip2),sum(ip),sum(distinct(ip)) from oceanbasetest;
+----------+---------+-------------------+
| sum(ip2) | sum(ip) | sum(distinct(ip)) |
+----------+---------+-------------------+
| NULL | 10 | 7 |
+----------+---------+-------------------+
1 row in set (0.00 sec)
GROUP_CONCAT([DISTINCT] expr)
該函數返回帶有來自一個組的連接的非NULL值的字符串結果。
語法
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
舉例
Oceanbase>select * from book; //表book(書編號,書名,出版社)+--------+--------------------------------+-----------------------------+
| bookid | bookname | publishname |
+--------+--------------------------------+-----------------------------+
| 1 | git help | alibaba group publisher |
| 2 | MySQL性能優化 | 浙江大學圖文出版社 |
| 3 | JAVA編程指南 | 機械工業出版社 |
| 3 | JAVA編程指南 | 機械工業出版社 |
| 4 | 大規模分布式存儲係統 | 機械工業出版社 |
+--------+--------------------------------+-----------------------------+
5 rows in set (0.00 sec)
//查找書名信息
Oceanbase>select group_concat(bookname) from book group by bookname;
+-----------------------------------+
| group_concat(bookname) |
+-----------------------------------+
| git help |
| JAVA編程指南,JAVA編程指南 |
| MySQL性能優化 |
| 大規模分布式存儲係統 |
+-----------------------------------+
4 rows in set (0.00 sec)
//查找書名信息,書名唯一
Oceanbase>select group_concat(distinct(bookname)) from book group by bookname;
+----------------------------------+
| group_concat(distinct(bookname)) |
+----------------------------------+
| git help |
| JAVA編程指南 |
| MySQL性能優化 |
| 大規模分布式存儲係統 |
+----------------------------------+
4 rows in set (0.01 sec)
//查找書名和出版社信息,以書名分組,出版社信息降序排序顯示
Oceanbase>select bookname, group_concat(publishname order by publishname desc separator ';' ) from book group by bookname;
+--------------------------------+---------------------------------------------------------------------+
| bookname | group_concat(publishname order by publishname desc separator ';' ) |
+--------------------------------+---------------------------------------------------------------------+
| git help | alibaba group publisher |
| JAVA編程指南 | 機械工業出版社;機械工業出版社 |
| MySQL性能優化 | 浙江大學圖文出版社 |
| 大規模分布式存儲係統 | 機械工業出版社 |
+--------------------------------+---------------------------------------------------------------------+
4 rows in set (0.00 sec)
最後更新:2016-11-23 16:03:54
上一篇:
轉換函數__函數_SQL語法參考_雲數據庫 OceanBase-阿裏雲
下一篇:
數學函數__函數_SQL語法參考_雲數據庫 OceanBase-阿裏雲
CID 投遞統計__發布訂閱統計接口_Open API_消息隊列 MQ-阿裏雲
恢複直播流推送__直播流操作接口_API 手冊_CDN-阿裏雲
彈性Web托管如何解析域名__產品相關問題_使用問題_彈性 Web 托管-阿裏雲
創建隻讀實例__擴展實例_快速入門(MySQL)_雲數據庫 RDS 版-阿裏雲
修改連接串__實例管理_API 參考_雲數據庫 RDS 版-阿裏雲
GetBucketWebsite__關於Bucket的操作_API 參考_對象存儲 OSS-阿裏雲
DescribeLoadBalancerHTTPListenerAttribute__Listener相關API_API 參考_負載均衡-阿裏雲
TXC 簡介__TXC for EDAS_二方服務_企業級分布式應用服務 EDAS-阿裏雲
雲服務器 ECS實例生命周期
步驟4:推送雲產品__快速入門_證書服務-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲