特色函数

场景

嵌套聚合函数是指在一个聚合函数的内部嵌套另一个聚合函数。在标准 SQL 的语法中是不支持嵌套聚合(需要通过子查询的形式实现)。然而,在实际的数据分析场景中, 这种需求却非常普遍。例如:

需求 1

-- 日均销售额
AVG(
    GROUP_SUM(order_details.quantity * order_details.unit_price, TO_DATE(orders.order_datetime))
)
-- 日均客户数量
AVG(
    GROUP_COUNT(customers.customer_id, TO_DATE(orders.order_datetime))
)

数据库中存储的订单数据的时间为

YYYY-MM-DD HH:mm:SS
格式式, 而需求中需要计算每天的销售数据的均值,所以需要先使用
SUM
计算出每日的销售额和客户数量,外层再进行
AVG
计算一个月中, 每日销售额和客户数据的均值;

需求 2

复购率(%)=购买订单数量大于 2 的客户数量总客户数量×100\text{复购率(\%)} = \frac{\text{购买订单数量大于 2 的客户数量}}{\text{总客户数量}} \times 100
-- 复购率
PERCENTAGE(
  COUNT_IF(
    GROUP_COUNT(
      orders.order_id, customers.customer_id) > 2,
      customers.customer_id
    ),
  COUNT(customers.customer_id)
)

复购率的计算方法则比较复杂,首先需要计算出指定时间范围内的订单量大于 2 的客户的数据,再除以总的客户数量。

实际效果

总结

在实际计算中,嵌套聚合函数的处理方式是:内部聚合函数会生成一个子查询,外部聚合函数再基于该子查询的结果进行进一步聚合操作。这种结构虽然逻辑清晰, 但在传统 SQL 中实现往往需要手动书写复杂的嵌套查询。

Agile Query 提供的嵌套聚合函数大幅简化了这一过程,使得指标定义更加直观高效。通过自动处理嵌套逻辑,开发者无需手动构建复杂的子查询, 从而显著降低了指标开发的成本,同时提高了工作效率和数据分析的灵活性。这种能力特别适用于处理多层次指标计算的场景,如复杂的业务报表和高级数据分析需求。

全天候售后服务
7x24小时专业工程师品质服务
极速服务应答
秒级应答为业务保驾护航
客户价值为先
从服务价值到创造客户价值
全方位安全保障
私有化部署,充分保证数据安全
©2022-2025 上海磊数信息技术有限公司
沪ICP备2024066390号-1