聚合/排序
最后更新:2025-07-02 22:45:17
|
状态:未完成
如果只是简单的聚合,可以通过service.querys查询,与普通查询参数格式一致
这种场景跟SQL是没有关系的,应该查出所有学生后再通过DataSet.group("班级")来实现分组
更多的的聚合函数如分组、平均、方差、行列转换等参考【DataSet】
service.querys(
"SD_ORDER(YM, PROVINCE_CODE, MAX(PAY_TIME) AS MAX_PAY_TIME, MAX(TOTAL_PRICE) AS MAX_TOTAL_PRICE))"
, configs, //查询条件
//查询条件、分组、排序、having混在一块 不分先后
"Y = 2020", //查询条件
"GROUP BY YM, PROVINCE_CODE" //分组条件
, "ORDER BY YM" //排序
, "HAVING COUNT(*) > 1") //having
//如果有ConfigStore也可以放在ConfigStore中
ConfigStore configs = new DefaultConfigStore();
configs.order("ID", "DESC");
service.querys("CRM_USER", configs, "TYPE_ID:0")
//注意求总数可以直接调用
service.count("CRM_USER", "TYPE_ID:0")
复杂的查询以及非JDBC协议的数据源要通过【aggregation】
另外DataSet上也有aggregation用来实现聚合计算
还有些场景不适合通过SQL实现如以下结构
| 班级 | 姓名 |
| 一班 | 张三 |
| 张三三 | |
|
二班 |
王五 |
| 王五 |
更多的的聚合函数如分组、平均、方差、行列转换等参考【DataSet】