在一次的项目上,为了避免客户端进行数据库查询,而且客户端操作的这些数据量也不太多。所以就想直接在客户端用Java实现group by的形式;
public List groupByList(final List<XxxObject> List) {
if(CollectionUtils.isEmpty(listformdetail)){
return ;
}
List groupbyList = new ArrayList();
Map<String, Integer> map = new HashMap<String, Integer>();
for (XxxObject obj : List) {
if (obj.getXxx() != null
&& obj.getXxx().getXyy() != null) {
Xyy xyy = obj.getXxx().getXyy();
//org.apache.commons.lang.StringUtils
// key值的构成:Xxx编码:Xxx名称,以这两个来进行分组,统计
String key = StringUtils.trimToEmpty(xyy.getCode()) + ":"
+ StringUtils.trimToEmpty(xyy.getName());
if (map.containsKey(key)) {
Integer val = obj.getAmount().intValue() + map.get(key).intValue();
map.put(key, val);
} else {
map.put(key, obj.getAmount().intValue());
}
}
}
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String[] names = StringUtils.splitByWholeSeparator(entry.getKey(), ":");
Xyy rc = new Xyy();
XxxDTO dto = new XxxDTO();
rc.setCode(names[0]);
rc.setName(names[1]);
dto.setXyy(rc);
dto.setAmount(Double.valueOf(entry.getValue()));
groupbyList.add(dto);
}
return groupbyList;
}
做一下标识,避免老了,记不住这些小技巧
分享到:
相关推荐
模仿sqlserver数据库中的groupby分组数据,可直接在页面传入数据集合生成结果,,结果由console.log()输入,需要浏览器F12开发模式观看
同时,熟悉SQL的查询语法,如JOIN、GROUP BY、HAVING等,因为它们是PL/SQL中的重要组成部分。 此外,优化PL/SQL代码也是关键,包括减少不必要的数据库访问,使用绑定变量以避免硬解析,以及合理利用索引以提高查询...
在SQL中,我们可以使用WHERE子句定义条件,JOIN操作合并不同表的数据,GROUP BY对数据进行分组,以及ORDER BY对结果排序。在`fselect`中,这些概念可能被转化为针对文件属性的操作,如文件名、大小、修改时间等。 ...
利用`GROUP BY`子句结合聚合函数进行分组统计,例如统计各部门的员工人数: ``` SELECT department, COUNT(*) FROM employees GROUP BY department; ``` 以上内容概述了Oracle数据库查询的基础知识,通过这些知识...
4. **聚合分析**: 支持 GROUP BY 和聚合函数,如 COUNT、SUM、AVG、MIN、MAX,便于进行统计分析。 5. **窗口函数**: PyPika 还支持窗口函数,这在时间序列分析、排名和滑动窗口计算中非常实用。 ### 使用 PyPika ...
可以配合`WHERE`子句进行条件筛选,使用`GROUP BY`进行分组,`ORDER BY`进行排序,`JOIN`操作连接多个表等。 4. 更新与删除:`UPDATE`用于修改现有记录,`DELETE`则用于删除特定行或全部行。 5. 数据聚合:SQL提供...
1. **SQL基础**:首先,你需要了解SQL的基本语法,包括SELECT语句用于查询数据,FROM语句指定数据来源,WHERE子句过滤结果,GROUP BY和HAVING用于分组和过滤组,以及ORDER BY用于排序。此外,JOIN操作用于合并不同表...
- 使用`GROUP BY`子句进行数据分组,如`String hql = "SELECT user.status, COUNT(user.id) FROM User GROUP BY user.status";` - 结合`HAVING`子句过滤分组后的结果,如`...HAVING COUNT(user.id) > 10;` 8. **...
2. **订制自己的WM_CONCAT函数**:开发人员可以自定义一个函数,模仿`WM_CONCAT`的行为。这通常涉及到使用`LISTAGG`分析函数或其他字符串聚合方法。`LISTAGG`是Oracle 11g引入的一个更稳定、更高效的选择,它允许将...
2. **数据查询**:能够通过编写类似SQL的语句来查询CSV和Excel文件,包括SELECT、WHERE、GROUP BY、ORDER BY等子句,支持条件过滤、聚合计算等。 3. **数据操作**:除了查询,可能还支持插入、更新和删除数据,类似...
.groupBy('users.id'); ``` **总结** "rails/arel in javascript"意味着在JavaScript中复现或模仿Rails的Arel库,目的是为前端或Node.js应用提供一个强大的、面向对象的SQL查询构建器。这涉及到理解SQL语法、构建...
2. **数据库操作**:使用易语言编写SQL语句执行引擎,支持SELECT、INSERT、UPDATE、DELETE等基本操作,以及更复杂的JOIN、GROUP BY、HAVING等高级查询。 3. **数据表管理**:提供查看、创建、修改和删除数据表的...
在编程或数据分析中,这可能涉及到使用特定的函数或工具,如SQL的GROUP BY语句或Python的pandas库中的groupby方法。在MATLAB中,"汇总"可能指的是使用统计函数对矩阵或数组进行操作,例如计算平均值、总和或标准差。...
MongoDB的聚合框架是用于处理数据集合的强大工具,它提供了类似SQL的聚合操作,如分组、过滤、投影和计算。在JavaScript开发中,lodash是一个非常受欢迎的实用库,提供了许多方便的数据处理方法。"Mongo聚合助手类似...
2. 查询构造:支持创建SELECT查询,可以添加WHERE条件、ORDER BY排序、GROUP BY分组、HAVING过滤等。 3. 插入数据:提供INSERT INTO语句的构造,可以便捷地插入一行或多行数据。 4. 更新数据:支持UPDATE语句的构建...
5. SQL查询:包括SELECT、INSERT、UPDATE和DELETE等操作,以及可能的JOIN、GROUP BY等复杂查询。 6. 错误处理和日志记录:确保程序在出现问题时能正确反馈,并记录相关日志便于调试。 7. 安全性:防止SQL注入、XSS...
- **解释**:在SQL查询语句中,`WHERE`子句用于指定查询条件,`GROUP BY`子句用于分组数据,`ORDER BY`子句用于排序结果。 **8. FTTX技术** - **知识点**:FTTX技术的分类及其覆盖范围。 - **解释**: - FTTN(光纤...
- **Server端计算支持**:增强HBase以支持服务器端聚合操作,如group by、avg和sum等。 - **资源隔离与优先级控制**:通过Group级别的资源隔离机制,为不同任务设定优先级。 #### 最佳实践 - **合理设计Row Key与...