如何实现一下操作呢,有什么方式吗

想要实现以下逻辑,如何实现呢?

两两一组
  AB,(29.33+19.22)
  AC,(29.33+25.81)
.....
  BC,(19.22+25.81)
....
  CD,(25.81+16.79)
....
  EF,(20.78+25.32)
 
三三一组
    ABC,(29.33+19.22+25.81)
    ABD,(29.33+19.22+25.81)
   .....
    ACD,(29.33+25.81+16.79)
   .....
    BCD,(19.22+25.81+16.79)
   .....
-- 3个 
select t1.gname,t2.gname,t3.gname,concat(t1.gname,'+',t2.gname,'+',t3.gname,'=',t1.amt + t2.amt + t3.amt)
  from test_20210402 t1
 join test_20210402 t2
 join test_20210402 t3
 where t1.gname < t2.gname
   and t2.gname < t3.gname
order by t1.gname,t2.gname,t3.gname;
 
 
-- 4个
select t1.gname,t2.gname,t3.gname,t4.gname,concat(t1.gname,'+',t2.gname,'+',t3.gname,'+',t4.gname,'=',t1.amt + t2.amt + t3.amt + t4.amt)
  from test_20210402 t1
 join test_20210402 t2
 join test_20210402 t3
 join test_20210402 t4
 where t1.gname < t2.gname
   and t2.gname < t3.gname
   and t3.gname < t4.gname
order by t1.gname,t2.gname,t3.gname,t4.gname;