易截截图软件、单文件、免安装、纯绿色、仅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分页查询语句(一)

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 ......

将数据导入到Oracle中

1. create table people (age int, id int);
2. 创建数据文件PeopleDate.txt.
    数据为:   
              20,1
              30,2
3. 创建 ......

oracle and sqlsever 常用数学函数对比

 
oracle and sqlsever 常用数学函数对比

 
数学函数
  1.绝对值
  S:select abs(-1) value
  O:select abs(-1) value from dual
  2.取整(大)
  S:select ceiling(-1.001) value
  O:select ceil(-1.001) value from dual
  3.取整(小)
  S:select floor(-1.001) value ......

log4j 记录日志放在oracle中

一个db类 类似于jdbc的驱动和链接配置
  package com.assi;
import org.apache.log4j.jdbc.JDBCAppender;
public class DB extends JDBCAppender {
     public DB(){
         this.setDriver("oracle.jdbc.driver.OracleDriver"); 
& ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号