易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle的 简单行转列

应个报表要求做个
时间             双色球,  胜负彩。。。。。
200905     销量       销量
200906     销量       销量
200907     销量       销量
200908     销量       销量
一个SQL 语句得到结果是:
f_yearmonth, lot_name,money
200905   双色球    50
200905   胜负彩   100
200906   双色球   60
200906   胜负彩    70
Select f_yearmonth,
Max(decode(f_lotname,'双色球',f_money,0)) As "双色球",
Max(decode(f_lotname,'福彩3D',f_money,0)) as "福彩3D",
Max(decode(f_lotname,'胜负彩',f_money,0)) as "胜负彩",
Max(decode(f_lotname,'时时彩',f_money,0)) as "时时彩",
Max(decode(f_lotname,'时时乐',f_money,0)) as "时时乐",
 from
 t_tmp_test_A
 Group By f_yearmonth
 Order By f_yearmonth
关键语句:
 Max(decode(f_lotname,'双色球',f_money,0)) As "双色球",
 Group By f_yearmonth
应为 按时间重组只有一条,并且只有一条数据:  200905   双色球    50 
那么 用MAX取一条数据 就是50
decode 意思说 如果是‘双色球’ 取对应的f_money  并且放在 命名为 "双色球"的 列上。
很显然 这列是固定!


相关文档:

Oracle 学习笔记: RMAN常用命令

1 . set database to archivelog mode
Sql代码
SQL> shutdown immediate;   
Database closed.   
Database dismounted.   
ORACLE instance shut down.   
  
SQL> startup mount;   
ORACLE&n ......

ROLLUP和CUBE语句。 ORACLE分组统计


ROLLUP和CUBE语句。
Oracle的GROUP
BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。如果是ROLLUP(A, B, C)的话,首先会对(A、B、C)进行GROUP
BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。如果是GROUP BY
CUBE(A, B, C),则首先会对(A、B、C)进行GROUP
BY,然后依次是( ......

Oracle分页查询语句(一)

Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。
 
分页查询格式:
SELECT * from
(
SELECT A.*, ROWNUM RN
from (SELECT * from TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
其中最内层的查询SELECT * from TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM <= 40和RN ......

CentOS 5下安装Oracle 11g

Oracle公司宣称在Linux下安装Oracle9i数据库至少要有512MB的内存和至少1GB或者两倍     
内存大小的交换空间,对于系统内存大于2GB的服务器,交换空间可以介于2GB—4GB之间。     
如果是为了在一台仅有256M内存的普通PC机上试用Oracle9i,在分配了1GB左右的交换 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号