當前位置:首頁 » 編程語言 » sql聚合怎麼查詢
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql聚合怎麼查詢

發布時間: 2023-08-25 10:54:08

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 :