"group 和 groupx 有什么区别?哪个性能好?"
group 和 groupx 有什么区别?哪个性能好?
group 一般用于只分组不汇总或者汇总运算复杂的情况,group 是先分好组,再针对每组的数据来算汇总值groups 采用累积法算汇总值,针对每条记录算出所属的组,并把记录累积到对应的组上,这个适合常规的汇总运算,比如 sum、count、avg、max、min…通常 groups 的计算效率会好于 groupgroupx 也是采用累积法计算汇总值,这个函数适用于内存放不下分组结果集的场景,groupx 需要用到外存,所有效率会低一些。
你好,groups 分组后的列是不是只能用汇总函数, 比如我想分组后的列先去重再拼接在一起,col.id().concat@c() 好像不行, 只能在 group 里用 ~.(col).id().concat@c() 才行.
groups 里不能直接用 id 去重,id() 应该不是聚合函数。
如果非要在 groups 里实现去重后拼接,可以尝试用 iterate 函数。以下仅供参考…
1、序表.groups(分组字段;iterate(~~+if(!pos(~~, 去重拼接字段), 分隔符 + 去重拼接字段 )).sbs(2:))或者2、序表.groups(name;iterate(~~| 去重拼接字段).id().concat@c())
是的,groups 里的汇总表达式只能用文档里列的那些汇总函数,复杂的汇总运算可以用 group 函数来算。
好麻烦, 还是直接 group 吧😄
了解🙏
group 一般用于只分组不汇总或者汇总运算复杂的情况,group 是先分好组,再针对每组的数据来算汇总值
groups 采用累积法算汇总值,针对每条记录算出所属的组,并把记录累积到对应的组上,这个适合常规的汇总运算,比如 sum、count、avg、max、min…
通常 groups 的计算效率会好于 group
groupx 也是采用累积法计算汇总值,这个函数适用于内存放不下分组结果集的场景,groupx 需要用到外存,所有效率会低一些。
你好,groups 分组后的列是不是只能用汇总函数, 比如我想分组后的列先去重再拼接在一起,col.id().concat@c() 好像不行, 只能在 group 里用 ~.(col).id().concat@c() 才行.
groups 里不能直接用 id 去重,id() 应该不是聚合函数。
如果非要在 groups 里实现去重后拼接,可以尝试用 iterate 函数。以下仅供参考…
1、序表.groups(分组字段;iterate(~~+if(!pos(~~, 去重拼接字段), 分隔符 + 去重拼接字段 )).sbs(2:))
或者
2、序表.groups(name;iterate(~~| 去重拼接字段).id().concat@c())
是的,groups 里的汇总表达式只能用文档里列的那些汇总函数,复杂的汇总运算可以用 group 函数来算。
好麻烦, 还是直接 group 吧😄
了解🙏