在 Apex 中使用合并统计查询
2024-08-22 03:44:01
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);
最新文章
- [数据科学] 从csv, xls文件中提取数据
- test [ ] 四类
- Action向前台输出
- Centos 反向代理创建资料
- python面相对象进阶
- TestNG学习-001-基础理论知识
- 转载解决:错误的语法:”XXXX“必须是批处理中仅有的语句
- Filter案例
- 线程间同步之 semaphore(信号量)
- 在网页中使用javascript提供反馈信息
- [置顶] JUnit入门教程(二)
- Linux文件系统十问,你知道吗?
- Reveal : Xcode辅助界面调试工具
- d3.js做的柱状图
- 说一说js中的闭包
- 插件使用一颜色选择器---cxColor
- 数据结构之二分查找——Java语言实现
- mybatis 插入数据 在没有commit时 获取主键id
- 【BZOJ4830】[HNOI2017]抛硬币(组合计数,拓展卢卡斯定理)
- 本地计算机上的SQLServer(MSSQLSERVER)服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止