下面的汇总查询该如何写?

[复制链接]
查看11 | 回复8 | 2013-8-7 11:42:44 | 显示全部楼层 |阅读模式
表ITEM:
日期部门项目
费用
200601 A办公用品1000
200601 B办公用品2000
200601 A工资
5000
200601 B工资
5000
200602 ……

现在要按下面的格式展示统计:
日期 办公用品总费用工资总费用
200601 ?
?
回复

使用道具 举报

千问 | 2013-8-7 11:42:44 | 显示全部楼层
最初由 ynduanlian 发布
[B]表ITEM:
日期部门项目
费用
200601 A办公用品1000
200601 B办公用品2000
200601 A工资
5000
200601 B工资
5000
200602 ……
.
又是行列转换。pub上的资料很多了!

现在要按下面的格式展示统计:
日期 办公用品总费用工资总费用
200601 ?
? [/B]

回复

使用道具 举报

千问 | 2013-8-7 11:42:44 | 显示全部楼层
SQL> select rq,sum(decode(xm,'办公用品',fy))办公用品总费用,
2
sum(decode(xm,'工资',fy))工资总费用
3 from kkk
4 group by rq;
RQ
办公用品总费用 工资总费用
-------------------- -------------- ----------
200601
300010000
回复

使用道具 举报

千问 | 2013-8-7 11:42:44 | 显示全部楼层
select
日期, 项目, sum(费用)
from ITEM
group by 日期, 项目;
回复

使用道具 举报

千问 | 2013-8-7 11:42:44 | 显示全部楼层
select riqi,
sum(decode(xiangmu,'办公用品',feiyong))办公用品总费用,
sum(decode(xiangmu,'工资','feiyong'))工资总费用
from table
group by riqi
回复

使用道具 举报

千问 | 2013-8-7 11:42:44 | 显示全部楼层
select dt,(select sum(fee) from item where item like '°ì¹«ÓÃÆ·' group by dt) °ì¹«ÓÃÆ·×Ü·ÑÓà ,
(select sum(fee) from item where item like '¹¤×Ê' group by dt) ¹¤×Ê×Ü·ÑÓà from item group by dt

有点复杂啊 凑个数
回复

使用道具 举报

千问 | 2013-8-7 11:42:44 | 显示全部楼层
select dt,
(select sum(fee) from item where item like '°ì¹«ÓÃÆ·' ) °ì¹«ÓÃÆ·×Ü·ÑÓÃ,
(select sum(fee) from item where item like '¹¤×Ê' ) ¹¤×Ê×Ü·ÑÓÃ
from item
group by dt
回复

使用道具 举报

千问 | 2013-8-7 11:42:44 | 显示全部楼层
行列转置:decode或者分析函数
发现好多行列转置的,还是把分析函数用好
回复

使用道具 举报

千问 | 2013-8-7 11:42:44 | 显示全部楼层
select DISTINCT dt,
sum(decode(item,'办公用品',fee)) OVER(PARTITION BY DT) 办公用品总费用,
sum(decode(item,'工资',fee)) OVER(PARTITION BY DT) 工资总费用
from item
SELECT STATEMENT, GOAL = ALL_ROWS
Cost=4
Cardinality=4
Bytes=116
HASH UNIQUE
Cost=4
Cardinality=4
Bytes=116
WINDOW SORT
Cost=4
Cardinality=4
Bytes=116
TABLE ACCESS FULL
Object owner=SYSTEM
Object name=ITEM
Cost=2
Cardinality=4
Bytes=116
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行