Ⅰ sql語句怎麼查詢一列數據的總和
MS-SQL中求和如下:
1、select sum (foamt) from t_ACRD_GthMst
2、select sum (foamt) from t_ACPD_PayMst
t_ACRD_GthMst和t_ACPD_PayMst表示某ERP系統中的兩個表,foamt表示要求和的一例。
(1)sql聚合怎麼查詢擴展閱讀:
常見語句
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like 』%value1%』 (所有包含『value1』這個模式的字元串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
Ⅱ sql 語句中那些是聚合函數
常見聚合函數,max(最大)、min(最小)、sum(求和)、avg(平均)等,
示例如下,
1、創建測試表,
create table test_group(id number, value number);
Ⅲ 第六章 SQL聚合函數 JSON_ARRAYAGG
創建 JSON 格式值數組的聚合函數。
註:IRIS可用,IRIS之前版本不可用。
JSON_ARRAYAGG 聚合函數返回指定列中值的JSON格式數組。
一個簡單的 JSON_ARRAYAGG (或 JSON_ARRAYAGG ALL )返回一個 JSON 數組,其中包含所選行中 string-expr 的所有值。
字元串 -expr 為空字元串 (") 的行由數組中的( " u0000" )表示。
字元串 -expr 為NULL的行不包含在數組中。
如果只有一個字元串 -expr 值,並且是空字元串( " ), JSON_ARRAYAGG 將返回 JSON 數組 ["u0000"] 。
如果所有的 string-expr 值為 NULL , JSON_ARRAYAGG 返回一個空的 JSON 數組 [] 。
JSON_ARRAYAGG DISTINCT 返回一個 JSON 數組,由所選行中 string-expr 的所有不同(唯一)值組成: JSON_ARRAYAGG(DISTINCT col1) 。
NULL 字元串 -expr 不包含在 JSON 數組中。
JSON_ARRAYAGG(DISTINCT BY(col2) col1) 返回一個 JSON 數組,該數組只包含記錄中 col2 值是不同的(唯一的)的那些 col1 欄位值。
但是請注意,不同的 col2 值可能包含一個單獨的 NULL 值。
JSON_ARRAYAGG string-expr 不能是流欄位。
指定流欄位的結果是 SQLCODE -37 。
默認的 JSON_ARRAYAGG 返回類型是 VARCHAR(8192) 。
這個長度包括 JSON 數組格式化字元以及欄位數據字元。
如果預期返回的值將需要大於 8192 ,可以使用 CAST 函數指定一個更大的返回值。
例如 CAST(JSON_ARRAYAGG(value)) AS VARCHAR(12000)) 。
如果實際返回的JSON數組長於 JSON_ARRAYAGG 返回類型長度,IRIS將在返回類型長度處截斷JSON數組,而不會發出錯誤。
因為截斷JSON數組會刪除其關閉的 ] 字元,這使得返回值無效。
可以使用 %SelectMode 屬性為 JSON 數組中的元素指定數據顯示值: 0=Logical (默認值), 1=ODBC , 2= display 。
如果 string-expr 包含一個 %List 結構,則元素以ODBC模式表示,用逗號分隔,在邏輯和顯示模式中以 %List 格式字元表示,用 轉義序列表示。
JSON_ARRAYAGG 函數將表中多行列的值組合成一個包含元素值的 JSON 數組。
因為在計算所有聚合欄位之後,查詢結果集中應用了一個 ORDER BY 子句,所以 ORDER BY 不能直接影響這個列表中的值序列。
在某些情況下, JSON_ARRAYAGG 結果可能是按順序出現的,但是不應該依賴於這種順序。
在給定聚合結果值中列出的值不能顯式排序。
下面的嵌入式SQL示例返回一個主機變數,該變數包含示例的 Home_State 列中所有值的 JSON 數組。
以字母 A 開頭的人名表:
注意,這個 JSON 數組包含重復的值。
下面的動態SQL示例返回一個主機變數,該變數包含樣本的 Home_State 列中所有不同(唯一)值的JSON數組。
以字母 A 開頭的人名表:
下面的SQL示例為每個州創建了一個 JSON 數組,其中包含在 Home_City 列中找到的所有值,以及按州列出的這些城市值的計數。
每個 Home_State 行包含該狀態的所有 Home_City 值的 JSON 數組。
這些JSON數組可能包含重復的城市名稱:
更有用的是一個 JSON 數組的所有不同的值,發現在 Home_City 列為每個州,如下所示的動態SQL示例:
注意,這個示例返回每個州的不同城市名稱和總城市名稱的整數計數。
下面的動態SQL示例使用 %SelectMode 屬性為 DOB 日期欄位返回的JSON值數組指定 ODBC 顯示模式:
下面的動態SQL示例使用 %FOREACH 關鍵字。
它為每個不同的 Home_State 返回一行,其中包含該 Home_State 的年齡值的JSON數組。
下面的動態SQL示例使用 %AFTERHAVING 關鍵字。
它為每個 Home_State 返回一行,其中至少包含一個滿足 HAVING 子句條件的 Name 值(以 「M」 開頭的名稱)。
第一個 JSON_ARRAYAGG 函數返回一個包含該狀態所有名稱的 JSON 數組。
第二個 JSON_ARRAYAGG 函數返回的 JSON 數組只包含滿足 HAVING 子句條件的名稱:
Ⅳ 第十三章 SQL聚合函數 XMLAGG
一個聚合函數,它創建一個串接的值字元串。
XMLAGG 聚合函數返回由 string-expr 中的所有值組成的串接字元串。
返回值的數據類型為 VARCHAR ,默認長度為 4096 。
以下兩個示例都返回相同的單個值,即 Sample.Person 表的 Home_State 列中列出的所有值的串聯字元串。
請注意,此連接字元串包含重復值。
返回值中將省略 string-expr 為NULL的行。如果至少返回一個非空字元串值,則從返回值中省略 string-expr 為空字元串( '' )的行。如果唯一非空的 string-expr 值是空字元串( '' ),則返回值是單個空字元串。
XMLAGG 不支持數據流欄位。為 string-expr 指定流欄位會導致 SQLCODE-37 。
XMLAGG 的一個常見用法是標記列中的每個數據項。這是通過組合 XMLAGG 和 XMLELEMENT 來實現的,如下例所示:
這將產生如下所示的輸出字元串:
XMLAGG 函數將來自多行的表列的值連接到單個字元串中。因為在計算所有聚合欄位之後,將逐個從句應用於查詢結果集,所以逐個不能直接影響該字元串中的值序列。在某些情況下, XMLAGG 結果可能會按順序顯示,但不應依賴此排序。給定聚合結果值中列出的值無法顯式排序。
下面的示例創建在 Sample.Person 表的 FavoriteColors 列中找到的所有不同值的串聯字元串。因此,對於 ALL_COLLES 列,每行都有相同的值。請注意,雖然有些行的 FavoriteColors 為空值,但該值不包括在連接的字元串中。數據值以內部格式返回。
下面的示例返回以 「A」 開頭的 Home_State 值的串聯字元串。它返回不同的 Home_State 值(不同的 Home_State );與不同的 Home_City 值對應的 Home_State 值(與( Home_City ) Home_State 不同),其中可能包括 Home_City 的一個唯一NULL;以及所有 Home_State 值:
下面的示例為每個州創建在 Home_City 列中找到的所有不同值的串聯字元串。同一州的每一行都包含該州所有不同城市值的列表:
以下示例使用 %AFTERHAVING 關鍵字。它為每個包含至少一個滿足 HAVING 子句條件(以 「C」 或 「K」 開頭的名稱)的 Name 值的 Home_State 返回一行。第一個 XMLAGG 函數返回由該州的所有名稱組成的連接字元串。第二個 XMLAGG 函數返回僅由滿足 HAVING 子句條件的名稱組成的連接字元串:
對於以下示例,假設我們有下表 AutoClub :