ORACLE DBLINK和GROUP BY 不能同时使用?

今天写了个查询语句,因为有些数据是放在历史库里,所以需要用到dblink

然后语句里面有group by语句

一加dblink就报错:不是group by表达式
但是一去掉dblink就可以正常查询

请问有什么解决方法吗

最好能贴出语句来,不然不好分析

--未加dblink
Select To_Char(T1.Recv_Time, 'yyyymm') As stat_date,
T1.Recv_Depart_Id,
t2.zb_channel_id,
Sum(Recv_Fee) /100 As Fee
From Tf_b_Paylog20171231 T1,
dw2.dim_Channel_All t2
where t1.recv_depart_id=t2.channel_id(+)
and t1.pay_fee_mode_code <> 4 ----剔除非现金优惠

And To_Char(T1.Recv_Time, 'yyyymm') >= '201701'
And To_Char(T1.Recv_Time, 'yyyymm') <= '201712'
Group By To_Char(T1.Recv_Time, 'yyyymm'),
T1.Recv_Depart_Id,
T1.Channel_Id,t2.zb_channel_id,t1.user_id
Having Sum(Recv_Fee) <> 0 ;

--加dblink后
--未加dblink
Select To_Char(T1.Recv_Time, 'yyyymm') As stat_date,
T1.Recv_Depart_Id,
t2.zb_channel_id,
Sum(Recv_Fee) /100 As Fee
From Tf_b_Paylog20161231@db1 T1,
dw2.dim_Channel_All t2
where t1.recv_depart_id=t2.channel_id(+)
and t1.pay_fee_mode_code <> 4 ----剔除非现金优惠

And To_Char(T1.Recv_Time, 'yyyymm') >= '201601'
And To_Char(T1.Recv_Time, 'yyyymm') <= '201612'
Group By To_Char(T1.Recv_Time, 'yyyymm'),
T1.Recv_Depart_Id,
T1.Channel_Id,t2.zb_channel_id,t1.user_id
Having Sum(Recv_Fee) <> 0 ;

with t1as (select * from Tf_b_Paylog20161231@db1),
select t1.xx from t1,dw2.dim_Channel_All t2
where **********************
group by t1.xx

这样会把数据链路在本地with方式成临时表,看能group by不