表结构可以抽象为如下形式,其中id不唯一,可重复,与city对应
id city user_type num
1 beijing A 20
1 beijing C 15
2 shanghai A 30
2 shanghai B 16
2 shanghai C 18
想得到的结果如下:
city A B C
beijing 20 15
shanghai 30 16 18
total 50 16 33
数据库:oracle 8i
开发语言:C++
上面问题可以分为两种情况:1.user_type种类固定只有3种,2.user_type种类可能有多种
id city user_type num
1 beijing A 20
1 beijing C 15
2 shanghai A 30
2 shanghai B 16
2 shanghai C 18
想得到的结果如下:
city A B C
beijing 20 15
shanghai 30 16 18
total 50 16 33
数据库:oracle 8i
开发语言:C++
上面问题可以分为两种情况:1.user_type种类固定只有3种,2.user_type种类可能有多种
解决方案 »
- ORA-01034 ORA-27101错误
- oracle查询时日期的问题
- 求教,数据库导入的时候,始终有一张表导入不了,导致后面的表也无法导入。
- 我在oracle中创建了一个数据库,为什么在OME中可以看到,而在OMS中看不到呢?
- 用conn /as sysdba登录时提示 ORA-01031: insufficient privileges为什么?
- oracle入门遇到的问题--listener
- 请大家看下
- 关于ORACLE认证的问题
- 关于取最新一次收费记录和倒数第二次收费记录?
- 通过数据库链接插入数据,客户端和服务端数据不一致
- 付费找人开发PHP+Oracle程序,共同学习进步
- 存储过程修改表中多行数据
--------------------------------------- ---------- --------- ---------------------------------------
1 Beijing A 20
1 Beijing C 15
2 Shanghai A 30
2 Shanghai B 16
2 Shanghai C 18SQL> edit
SQL> select decode(grouping(city),1,'Total',city),
2 sum(decode(user_type,'A',c,0)) as "A",sum(decode(user_type,'B',c,0)) as "B",sum(decode(user_type,'C',c,0)) as "C"
3 from ( select city,user_type,sum(num) as c from t group by city,user_type) group by rollup(city)
4 /DECODE(GROUPING(CITY),1,'TOTAL A B C
------------------------------ ---------- ---------- ----------
Beijing 20 0 15
Shanghai 30 16 18
Total 50 16 33
SQL> select * from t; ID CITY USER_TYPE NUM
--------------------------------------- ---------- --------- ---------------------------------------
1 Beijing A 20
1 Beijing C 15
2 Shanghai A 30
2 Shanghai B 16
2 Shanghai C 18SQL> edit
SQL> edit
SQL>
SQL> select decode(grouping(city),1,'Total',city),
2 sum(decode(user_type,'A',c,0)) as "A",sum(decode(user_type,'B',c,0)) as "B",sum(decode(user_type,'C',c,0)) as "C"
3 from ( select city,user_type,sum(num) as c from t group by city,user_type) group by rollup(city)
4 /DECODE(GROUPING(CITY),1,'TOTAL A B C
------------------------------ ---------- ---------- ----------
Beijing 20 0 15
Shanghai 30 16 18
Total 50 16 33
第二种是不是就没有办法了:)2.user_type种类可能有多种
不过第一种已经可以解决很大问题了