oracle查询结果加上总计 您所在的位置:网站首页 怎么把合计放在第一行上 oracle查询结果加上总计

oracle查询结果加上总计

2024-07-17 20:24| 来源: 网络整理| 查看: 265

Oracle查询结果加上总计,用ROLLUP函数,GROUPING函数用不用都行

ROLLUP:可以理解为卷起,整个打包,用于计算总计

GROUPING:可以接受一列,返回0或者1。如果列值为空,那么GROUPING()返回1;如果列值非空,那么返回0。GROUPING只能在使用ROLLUP或CUBE的查询中使用,用于设置总计行的分组列的内容

SELECT DECODE(GROUPING(t.bxgsmc),1,'总计',t.bxgsmc) 保险公司,--用decode函数实现总计列显示“总计”,总计可改成任何需要显示的内容 --decode也可以改写为decode(t.bxgsmc,null,'总计',t.bxgsmc) 保险公司名称 COUNT(*) 清单条数, SUM(t.cbmj) 承保面积 FROM b_bt t WHERE t.ldh='01' --约束条件 GROUP BY ROLLUP(t.bxgsmc) --在group by 后面使用rollup ORDER BY SUM(t.cbmj) DESC;--按照承保面积降序排列

查询结果就会出现总计行,前面顺序乱了是因为查询结果出来后又按照清单条数排序了 

2024年6月13日补充,不用grouping的写法

select decode(t.bxgsmc,'','总计',t.bxgsmc) bxgsmc from aa t; --当bxgsmc为空时,显示总计,当bxgsmc不为空时,显示bxgsmc的内容



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有