请教如何使用union才能达到想要的效果
请教一下,执行下面的语句查询后
select RID ,sum_eval,s_i_name1,s_i_code1 from TMP_REP_2 WHERE rownum<=5
union
select '前三名', sum_eval,s_i_name1,s_i_code1 FROM TMP_REP_2 WHERE rownum<=3
union
select '前五名', sum_eval,s_i_name1,s_i_code1 FROM TMP_REP_2 WHERE rownum<=5;
输出的结果如下:
133060379.4黑色金属801040
231104500 金融服务801190
324637023.34机械设备801070
423879016 房地产801180
516744197.44医药生物801150
前三名24637023.34机械设备801070
前三名31104500 金融服务801190
前三名33060379.4黑色金属801040
前五名16744197.44医药生物801150
前五名23879016 房地产801180
前五名24637023.34机械设备801070
前五名31104500 金融服务801190
前五名33060379.4黑色金属801040
如何才能得到如下的结果,就是最后2行是前面的数据的合计,但要能在一起显示出来?
133060379.4黑色金属801040
231104500 金融服务801190
324637023.34机械设备801070
423879016 房地产801180
516744197.44医药生物801150
前三名88801903
前五名129425116
[解决办法]
select RID ,sum_eval,s_i_name1,s_i_code1 from TMP_REP_2 WHERE rownum<=5
union all
select rid,sum(sum_eva),null,null
(select '前三名' rid, sum_eval,s_i_name1,s_i_code1 FROM TMP_REP_2 WHERE rownum<=3
union
select '前五名' rid, sum_eval,s_i_name1,s_i_code1 FROM TMP_REP_2 WHERE rownum<=5) group by rid;
[解决办法]
select RID ,sum_eval,s_i_name1,s_i_code1 from TMP_REP_2 WHERE rownum<=5
union all
select rid,sum(sum_eval),null,null
from (select '前三名' rid, sum_eval,s_i_name1,s_i_code1 FROM TMP_REP_2 WHERE rownum<=3
union
select '前五名' rid, sum_eval,s_i_name1,s_i_code1 FROM TMP_REP_2 WHERE rownum<=5) group by rid;
请问怎么使用union才能达到想要的效果
请教如何使用union才能达到想要的效果请教一下,执行下面的语句查询后select RID ,sum_eval,s_i_name1,s_i_
