zoukankan      html  css  js  c++  java
  • 在 Apex 中使用合并统计查询

    SOQL 中的合并统计查询

    在 SOQL 中,我们可以使用一系列函数来进行合并统计查询。它们的功能和标准 SQL 中的 SUM(),COUNT() 等函数类似。

    官方文档

    Apex 中使用合并统计查询

    在 Apex 中,我们可以通过调用合并查询的 SOQL 语句来得到系列结果。在 Apex 中,AggregateResult 类是专门用来存储这些结果的。

    官方文档

    要注意的是,每一个 AggregateResult 类的实例都是一个 SObject 类型,并且是只读的。我们在用其中的成员时,需要进行显示转换。

    比如:

    // 得到所有“机会”记录中“数额”字段的平均值
    AggregateResult[] groupedResultsAverage = [SELECT AVG(Amount) avgAmount FROM Opportunity];
    Decimal avgAmount = (Decimal) groupedResultsAverage[0].get('avgAmount');
    
    // 得到所有“机会”记录中“数额”字段值大于100的“数额”总值,并根据“客户”字段分组合并查询
    AggregateResult[] groupedResults = [SELECT AccountId, SUM(Amount) sumAmount FROM Opportunity WHERE Amount > 100 GROUP BY AccountId];
            
    for (AggregateResult ar : groupedResults) {
        System.debug('AccountId is: ' + (Id) ar.get('AccountId'));
        System.debug('Sum is: ' + (Decimal) ar.get('sumAmount'));
    }
    

    COUNT() 在查询中的唯一性

    在使用 COUNT() 函数时,有一点比较特殊:它必须是查询语句中的唯一一个元素。

    比如:

    // 查询所有“客户”对象记录的总数
    Integer countAccount = [SELECT COUNT() FROM Account];
    System.debug('Count of Accounts is: ' + countAccount);
    
  • 相关阅读:
    连接数据库的几种方式
    c#拖拽文件
    设置webbrowser浏览器内核
    C#控件置于底层或顶层
    C#中读取xml文件指定节点
    关于selenium python Message: unknown error: Element is not clickable at point错误
    Linux的命令操作
    MySQL数据库的知识
    没有添加main方法
    eclipse导入已建工程
  • 原文地址:https://www.cnblogs.com/chengcheng0148/p/apex_aggregate_query_basic.html
Copyright © 2011-2022 走看看