聚合/排序
最后更新:2025-07-02 22:45:17
|
状态:未完成
如果只是简单的聚合,可以通过service.querys查询,与普通查询参数格式一致
这种场景跟SQL是没有关系的,应该查出所有学生后再通过DataSet.group("班级")来实现分组
更多的的聚合函数如分组、平均、方差、行列转换等参考【DataSet】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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】