标题: 求教 sas hash 在分类数据中的用法 [打印本页] 作者: shiyiming 时间: 2011-2-21 11:33 标题: 求教 sas hash 在分类数据中的用法 我现在有张想放进hash 里的表,他是个分类表,就是在某一类别中,key才是唯一的。
由于hash表联接时key要唯一,怎样可以不用把此表按照类别拆分成一个一个小表后再连
因为我的表很大,类别比较多,用sql或拆分后不是很慢就是生成很多张表。
比如 表A
kind id
a 1
a 2
b 1
b 3
c 2
c 3
表B
id amt
1 50
2 40
2 20
3 30
我想要得到kind(类别) a b c 类下所有id 的总amt额。。想用hash 做 求教高手
十分感谢。。。sql join 再group by实在太慢了。。作者: shiyiming 时间: 2011-2-22 01:14 标题: Re: 求教 sas hash 在分类数据中的用法 既然你敢把A表放进Hash, 那么,你的A表并不大,问题出在B表。
先group B表然后再join, 然后group A.
当然了,如果你的B表真的到了T级,那就另当别论了,采用hash或什么的。不过不管怎么样,都是先从B下手。
[code:1dlw7rx8]
select kind
, sum(amt) as amt
from A
, (select id
, sum(AMT) as amt
from B
group by id
) B
where a.ID=b.ID
group by kind
;
[/code:1dlw7rx8]