首页
学习
活动
专区
圈层
工具
发布

SQL 聚合查询

SQL 为什么要支持聚合查询呢? 这看上去是个幼稚的问题,但我们还是一步步思考一下。...数据以行为粒度存储,最简单的 SQL 语句是 select * from test,拿到的是整个二维表明细,但仅做到这一点远远不够,出于以下两个目的,需要 SQL 提供聚合函数: 明细数据没有统计意义,...另外聚合本身也有一定逻辑复杂度,而 SQL 提供了聚合函数与分组聚合能力,可以方便快速的统计出有业务价值的聚合数据,这奠定了 SQL 语言的分析价值,因此大部分分析软件直接采用 SQL 作为直接面向用户的表达式...现在很多 BI 引擎的自定义字段都有这条限制,因为混用聚合与非聚合在自定义内存计算时处理起来边界情况很多,虽然 SQL 能支持,但业务自定义的函数可能不支持。...总结 聚合函数 + 分组可以实现大部分简单 SQL 需求,在写 SQL 表达式时,需要思考这样的表达式是如何计算的,比如 MAX(c1), c2 是合理的,而 SUM(c1), c2 这个 c2 就是无意义的

3.1K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL聚合函数

    例如,以下 SQL 语句使用 SUM 函数计算订单表中所有订单的总金额:SELECT SUM(amount) FROM orders;AVG 函数AVG 函数用于计算数值列的平均值。...例如,以下 SQL 语句使用 AVG 函数计算商品表中所有商品的平均价格:SELECT AVG(price) FROM products;MAX 函数MAX 函数用于计算数值列的最大值。...例如,以下 SQL 语句使用 MAX 函数计算员工表中年龄的最大值:SELECT MAX(age) FROM employees;MIN 函数MIN 函数用于计算数值列的最小值。...例如,以下 SQL 语句使用 MIN 函数计算客户表中年龄的最小值:SELECT MIN(age) FROM customers;COUNT 函数COUNT 函数用于计算指定列或行的行数。...例如,以下 SQL 语句使用 DISTINCT 关键字查询订单表中唯一的客户 ID:SELECT DISTINCT customer_id FROM orders;组合聚合函数我们还可以组合多个聚合函数来实现更复杂的数据分析

    1.6K30

    SQL聚合函数 LIST

    SQL聚合函数 LIST 创建逗号分隔值列表的聚合函数。...描述 LIST聚合函数返回指定列中以逗号分隔的值列表。 一个简单的LIST(或LIST ALL)返回一个字符串,其中包含一个逗号分隔的列表,该列表由所选行中string-expr的所有值组成。...在给定聚合结果值中列出的值不能显式排序。 最大列表大小 允许的最大LIST返回值是最大字符串长度,3641,144个字符。 相关的聚合函数 LIST返回一个逗号分隔的值列表。...示例 下面的嵌入式SQL示例返回一个主机变量,该变量包含示例的Home_State列中列出的所有值的逗号分隔列表。...下面的嵌入式SQL示例返回一个主机变量,该变量包含示例的Home_State列中列出的所有不同(唯一)值的逗号分隔列表。

    2.6K40

    SQL聚合函数 XMLAGG

    SQL聚合函数 XMLAGG 一个聚合函数,它创建一个串接的值字符串。...string-expr - 计算结果为字符串的SQL表达式。 通常,这是要从其中检索数据的列的名称。 %FOREACH(col-list) - 可选-列名或以逗号分隔的列名列表。...描述 XMLAGG聚合函数返回由string-expr中的所有值组成的串接字符串。 返回值的数据类型为VARCHAR,默认长度为4096。...因为在计算所有聚合字段之后,将逐个从句应用于查询结果集,所以逐个不能直接影响该字符串中的值序列。在某些情况下,XMLAGG结果可能会按顺序显示,但不应依赖此排序。...给定聚合结果值中列出的值无法显式排序。 相关聚合函数 XMLAGG返回一个串连的值字符串。 LIST返回值的逗号分隔列表。 %DLIST返回包含每个值的元素IRIS列表。

    1.7K00

    优化OEA中的聚合SQL

    之前写过几篇关于聚合对象SQL的文章,讲的是如果设计框架,使用一句SQL语句来加载整个聚合对象树中的所有数据。...相关内容,参见:《性能优化总结(二):聚合SQL》、《性能优化总结(三):聚合SQL在GIX4中的应用》。...由于没有使用其它的ORM框架,当时项目组决定做聚合SQL,主要是为了减少SQL查询的次数,来提升部分模块的性能。现在看来,当时虽然达到了这个目标,但是聚合SQL的API却不简单,使用极为不便。...有了这些数据,则可以在框架内部生成聚合SQL,在框架内部按照它们进行大表到聚合对象的加载。以下,我将这些数据称为聚合对象的“加载选项”。    ...同时,考虑到聚合SQL生成的复杂性及使用的2/8原则,这次的聚合SQL自动生成和加载只处理比较简单的情况:只处理简单的链式的加载。

    2.2K70

    SQL中的聚合函数介绍

    什么是聚合函数(aggregate function)? 聚合函数对一组值执行计算并返回单一的值。 聚合函数有什么特点? 除了 COUNT 以外,聚合函数忽略空值。...聚合函数经常与 SELECT 语句的 GROUP BY 子句一同使用。 所有聚合函数都具有确定性。任何时候用一组给定的输入值调用它们时,都返回相同的值。 标量函数:只能对单个的数字或值进行计算。...常见的聚合函数有哪些? 1、求个数/记录数/项目数等:count() 例如: 统计员工个数?...其他聚合函数(aggregate function) 6、 count_big()返回指定组中的项目数量。...数据类型详见: SQL Server 数据类型的详细介绍及应用实例1 SQL Server 数据类型的详细介绍及应用实例2 SQL Server 数据类型的详细介绍及应用实例3 例如: select

    3.4K10
    领券