-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于group by实现方法的一点疑问 #140
Comments
1.groupby 需要按照group独立计算聚合结果,因此多了group(分组),avg/count是和没有groupby的对应。 额外多出来的 make_constant、broadcast、GreaterEqual、apply_filter是为了过滤掉数量较小的分组(出于安全考虑,如果一个group里元素少于4,则会从结果滤除,这里的make constant就是产生常量4的)。 |
明白了,感谢解答~ |
有一个新的疑问。
问题如下: |
(3) "make_private:{in:[In:{t_28,},],out:[Out:{t_34,},],attr:[reveal_to:carol,],url:[172.23.13.251:8087,172.23.13.251:8089,]}"]是指将各方将秘密共享份额发送给carol对吧?Alice是否能知道恢复的结果? |
@jingshi-ant 你好,可以帮忙解答一下吗?0.0 |
(1)sort、group_mark的理解没有问题 |
感谢解答,(1)(3)(4)明白了 |
对的,只有值为1的行会留下来(包含最终结果),其它的会filter掉。 |
明白了,感谢解答,收获很大! |
我测试了两个sql语句,一个有group by,另一个没有,有group by的执行图似乎复杂很多。
执行sql语句“select avg(user_credit.income) from user_credit join user_stats on user_credit.id = user_stats.id”时,SCDB打印的execution plan为:
执行sql语句“select avg(user_credit.income) from user_credit join user_stats on user_credit.id = user_stats.id group by user_credit.credit_rank”时,SCDB打印的execution plan为:
group by操作原理是什么?为什么语句中多了group by之后,增加了操作count、make_constant、broadcast、GreaterEqual、apply_filter?此外,make_constant貌似还有交互,其功能是什么,我阅读了Constant#,不太明白其含义。
ps:额外的一个问题,我注意到CCL中好像没提到+-*/的操作,此类操作应该归为哪一类CCL限制呢?
The text was updated successfully, but these errors were encountered: