高手请进!一个SQL语句的统计问题!!

zsh168 2005-09-20 11:07:32
查询SQL语句如下:
select a 客户名称,b 容量,c 所属行业 from table1
结果如下:
序号 客户名称 容量 所属行业
1 电子公司1 100 电子
2 电子公司2 110 电子
3 化工厂1 50 化工
4 化工厂2 51 化工

现在想把上面的结果显示成下面的样子:

序号 客户名称 容量
1 电子公司1 100
2 电子公司2 110
小计 电子 210
3 化工厂1 50
4 化工厂2 51
小计 化工 101

这个SQL怎么实现?请各位老大帮忙看看?



...全文
76 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zsh168 2005-09-20
知道了,是ID NUMBER(5) 这个数据类型修改一下,就好了,谢谢了
回复
zsh168 2005-09-20
楼上的大哥,我新建的表结构如下:

表名:AATEST
字段名 数据类型
ID NUMBER(5)
NAME VARCHAR2(20)
CONTENT NUMBER(10)
REGION VARCHAR2(20)

然后按照你的SQL如下:
select decode(grouping_id(region, id, name), 0, id, 3, '小计', 7, '总计') id,
decode(grouping_id(region, id, name), 3, region, name) name,
sum(content)
from aatest
group by rollup(region, id, name)
having grouping_id(region, id, name) in (0, 3, 7);

可是执行不过去,显示:ORA-01722:无效数字
是哪里错了?

回复
子林 2005-09-20
SQL> select * from t;

ID NAME CONTENT REGION
---- -------------------- ---------- --------------------
1 电子公司1 100 电子
2 电子公司2 110 电子
3 化工厂1 50 化工
4 化工厂2 51 化工

SQL> select decode(grouping_id(region, id, name), 0, id, 3, '小计', 7, '总计') id,
2 decode(grouping_id(region, id, name), 3, region, name) name,
3 sum(content)
4 from t
5 group by rollup(region, id, name)
6 having grouping_id(region, id, name) in (0, 3, 7);

ID NAME SUM(CONTENT)
---- -------------------- ------------
1 电子公司1 100
2 电子公司2 110
小计 电子 210
3 化工厂1 50
4 化工厂2 51
小计 化工 101
总计 311

已选择7行。

SQL> select decode(grouping_id(region, id, name), 0, id, 3, '小计', 7, '总计') id,
2 decode(grouping_id(region, id, name), 3, region, name) name,
3 sum(content)
4 from t
5 group by rollup(region, id, name)
6 having grouping_id(region, id, name) in (0, 3);

ID NAME SUM(CONTENT)
---- -------------------- ------------
1 电子公司1 100
2 电子公司2 110
小计 电子 210
3 化工厂1 50
4 化工厂2 51
小计 化工 101

已选择6行。
回复
超叔csdn 2005-09-20
我错了.等我吃饭了再来想想!
回复
超叔csdn 2005-09-20
select decode(grouping(所属行业),1,'小计',序号) 序号,decode(grouping(所属行业),1,所属行业,客户名称)客户名称,容量
from table1
group by rollup(所属行业)
回复
相关推荐
发帖
基础和管理
创建于2007-09-28

1.7w+

社区成员

Oracle 基础和管理
申请成为版主
帖子事件
创建了帖子
2005-09-20 11:07
社区公告
暂无公告