selectcase when (grouping(glbm)=1) then '合计' else DECODE(glbm,null,'',glbm) end glbm,case when (grouping(hpzl)=1) then '' else DECODE(hpzl,null,'',hpzl) end hpzl,case when (grouping(syxz)=1 and grouping(hpzl)=0) then '小计' else DECODE(syxz,null,'',syx…
首先我们创建一个示例表: Create table test_group (v_name varchar2(4) ,v_size varchar2(4) ,v_color varchar2(4) ,n_num number(4) ); --插入数据 insert into test_group select '桌子','大','红',10 from dual union all select '桌子','大','绿',10 from dual union all select '桌子','小',…
干oracle 047文章12当问题,经验group by 声明.因此邂逅group by rollup,decode,grouping,nvl,nvl2,nullif,RATIO_TO_REPORT等一下. 1. decode 与if...then,case...when...这类流数据语句功能差点儿相同 decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义例如以下: IF 条件=值1 THEN RETURN(值1) ELSIF 条件=值2 TH…
select then '合计' else cast(姓名 as varchar) end 姓名, then '姓名小计' else cast(学期 as varchar) end 学期, case when cast(学期 as varchar)<>cast('姓名小计' AS varchar) and ISNULL(考次, '') = '' then '学期小计' else 考次 end as 考次, sum(语文) as 语文,sum(数学) as 数学,sum(英语) as 英语,su…
转自:http://www.jb51.net/article/18860.htm 这里介绍sql server2005里面的一个使用实例: CREATE TABLE tb(province nvarchar(10),city nvarchar(10),score int) INSERT tb SELECT '陕西','西安',3 UNION ALL SELECT '陕西','安康',4 UNION ALL SELECT '陕西','汉中',2 UNION ALL SELECT '广东','广州'…
SELECT CASE WHEN GROUPING(F1) = 1 THEN '总计'WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 1 THEN F1+'合计'WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 0 AND GROUPING(F3) = 1 THEN F1+'的'+F2+'小计'ELSE F1 END AS F1 , CASE WHEN GROUPING(F3) = 1 THEN '…
SELECT CASE WHEN GROUPING(F1) = 1 THEN '总计' WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 1 THEN F1+'合计' WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 0 AND GROUPING(F3) = 1 THEN F1+'的'+F2+'小计' ELSE F1 END AS F1 , CASE WHEN GROUPING(F3) = 1 THEN '' ELSE F2 END…
group by rollup() 按分组合计 select grouping(status),status,owner,object_type,count(*) from dba_objects where owner not in ('SYS','SYSTEM') group by rollup (status,owner,object_type) order by status,owner,object_type; 经典分类查询语句: select object_type,count(*)…
常常写SQL语句的人应该知道Group by语句的主要使用方法是进行分类汇总,以下是一种它最常见的使用方法(依据部门.职位分别统计业绩): SELECT a.dname,b.job,SUM(b.sal) sum_sal FROM dept a,emp b WHERE a.deptno = b.deptno GROUP BY a.dname,b.job; DNAME JOB SUM_SAL -------------- --------- ---------- SALES MANAGER 2850…
这里介绍sql server2005里面的一个使用实例: ),city ),score int) GO 1. 只有一个汇总 select province as 省,sum(score) as 分数 from tb group by province with rollup 结果: 广东 江苏 陕西 then '合计' else province end as 省,sum(score) as 分数 from tb group by province with rollup 结果: 广东 江苏 陕…
可以通过数据绑定来实现 通过union all 来实现数据库 SELECT * FROM v3_pay_list2 where ( (ought_date >= '2012-12-06') and (ought_date <'2013/9/16 0:00:00') and (corp_id = '0001')) union all select 'XXXXXXXXXX', corp_id,dep_id,dep_name,vendor_id,'','', sum(amt),'','',ven…
Oracle grouping和rollup简单测试 SQL,,,) group by department_id order by department_id; DEPARTMENT_ID SUM(SALARY) ------------- ----------- SQL,,,) group by (department_id,first_name) order by department_id; DEPARTMENT_ID FIRST_NAME SUM(SALARY) -----------…