当前位置:首页 » 编程语言 » 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 :