当前位置: 首页 > 知识库问答 >
问题:

SQL的ANSI聚合函数

衡丰茂
2023-03-14

查看SQL的ANSI聚合函数,我找不到字符串的任何东西。但是,每个数据库似乎都有自己的数据库,例如MySQL和Oracle的GROUP_CONCAT和LISTAGG,这使得可移植性有点困难。我是不是缺了什么?这是有原因的吗?

共有2个答案

卫子平
2023-03-14

在标准listagg中指定了一个聚合函数;它在SQL:2016(ISO-9075-2:2016)第10.9节<聚合函数>中指定。每个数据库都有自己的数据库,这是因为它在标准的早期版本中没有标准化。

为什么以前它没有标准化,只能猜测标准化委员会的原因、审议和论点,据我所知,标准化委员会并不公开,但要么认为它不够重要,要么委员会无法就早期版本中的语法和行为达成一致。

申屠泉
2023-03-14

ANSI采用了listagg()作为标准。不过,我不会屏住呼吸等待其他数据库改变它们的功能。

字符串聚合最初被认为不重要,或者委员会无法决定适当的标准。

这里有一个关于Postgres问题的有趣的观点。我要提醒大家不要过多解读甲骨文控制标准委员会(除非作者有内部消息)。IBM也非常积极,DB2支持listagg()

 类似资料:
  • 主要内容:1.COUNT函数,2. SUM函数,3. AVG函数,4. MAX函数,5. MIN函数SQL聚合函数用于对表的单个列的多行执行计算,它只返回一个值。它还用于汇总数据。 SQL聚合函数的类型,如下图所示 - 接下来,我们一个个地讲解。 1.COUNT函数 函数用于计算数据库表中的行数,它可以在数字和非数字数据类型上工作。 函数使用返回指定表中所有行的计数。 包函重复值和值。 语法 假设有一个表,它的结构和数据如下所示 - PRODUCT COMPANY QTY RATE COST I

  • 在本教程中,将了解和学习SQL Server聚合函数以及如何使用它们来计算聚合。 聚合函数执行一个或多个值的计算并返回单个值。 聚合函数通常与SELECT语句的GROUP BY子句和HAVING子句一起使用。 下表显示了SQL Server中的聚合函数: 编号 聚合函数 描述 1 AVG()函数 函数用于计算集合中非值的平均值。 2 CHECKSUM_AGG()函数 函数根据一组行计算校验和值。

  • 1. 前言 慕课解释:SQL 内置的聚合函数主要用于数据的统计和分析。 本小节,我们将一起学习 SQL 中的聚合函数。 数据统计和分析是挖掘数据规律、发现数据特征的主要手段,SQL 虽然无法直接分析数据,但是提供基本聚合函数来帮助开发者做数据挖掘。 本小节测试数据如下,请先在数据库中执行: DROP TABLE IF EXISTS imooc_user; CREATE TABLE imooc_us

  • 一、简单聚合 1.1 数据准备 // 需要导入 spark sql 内置的函数包 import org.apache.spark.sql.functions._ val spark = SparkSession.builder().appName("aggregations").master("local[2]").getOrCreate() val empDF = spark.read.jso

  • 问题内容: 我想要做的是计算子查询返回的行数,本质上如下: 这是我的错误信息: 为什么这不起作用?如果select仅返回一堆具有过滤条件的行,为什么我不能计算行数或返回的行数? 我正在计算拥有的不同员工的数量。按分组。 这是有关我的数据库的一些结构信息,作为查询的一部分。 谢谢! 问题答案: 试试这个 或这个

  • 问题内容: 嘿! 如何创建聚合函数以获取聚合值列表。 给出: 我想 问题答案: 我曾经将这篇文章用于完全相同的事情: http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in- transact-sql/