易截截图软件、单文件、免安装、纯绿色、仅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  并且放在 命名为 "双色球"的 列上。
很显然 这列是固定!


相关文档:

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用游标分解号码次数

drop table tb_wjf_xh_dg100_50_tmp4 purge; 
create table tb_wjf_xh_dg100_50_tmp4
 (
 servnumber varchar(11)
 )
;
  
declare
      vv_cusor_servnumber  varchar2(32);
      vv_cusor_lost_cnt  & ......

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号