oracle查询结果加上总计 | 您所在的位置:网站首页 › 怎么把合计放在第一行上 › oracle查询结果加上总计 |
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 实验室设备网 版权所有 |