ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 本人写的sql记录

本人写的sql记录

原创 Linux操作系统 作者:grubbyoo 时间:2008-08-29 14:18:49 0 删除 编辑

select filmname
from
      (select filmname,
                 dense_rank() over ( order by  RTRIM(filmname,'abc123上部中部下部'))  id
        from t_film
       ) a,
      ( select trunc(dbms_random.value(1,(select count(distinct(RTRIM(filmname,'abc123上部中部下部') )) from t_film))   id
          from all_objects
        where rownum<9
        ) b
where a.id=b.id

QUOTE:
原帖由 lastwinner 于 2008-4-2 18:59 发表
A       B
-------------------
1       1
2       4
3       10
4       20
5       35
6       56




一条sql输出以上结果




提示:B为A的二次累加结果


SELECT LEVEL  n, SUM(LEVEL*LEVEL) over (PARTITION BY MOD(LEVEL,2) ORDER BY LEVEL) POWER
FROM dual
   CONNECT BY LEVEL<=16
   ORDER BY 1

计算 2349044各位数字之和  
SELECT  sum(b.n*(length(a.num)-length(replace(a.num,b.n))) ) FROM
  (select 2349044  NUM from dual) A,
  (SELECT LEVEL-1 N
    FROM DUAL CONNECT BY ROWNUM <= 10) B
        WHERE A.NUM LIKE '%'||B.N||'%'

SELECT ID,MAX(xuewei)      KEEP(DENSE_RANK FIRST ORDER BY decode(biaoshi,' ','1000-01-01',end_date) desc ,xuewei  ) XUEWEI,
                 MAX(start_date) KEEP(DENSE_RANK FIRST ORDER BY decode(biaoshi,' ','1000-01-01',end_date) desc ,xuewei  ) START_DATE,
         MAX(end_date)   KEEP(DENSE_RANK FIRST ORDER BY decode(biaoshi,' ','1000-01-01',end_date) desc ,xuewei ) END_DATE,
         MAX(biaoshi)       KEEP(DENSE_RANK FIRST ORDER BY decode(biaoshi,' ','1000-01-01',end_date) desc ,xuewei  ) biaoshi                  
FROM
xue_tBL
GROUP BY id

SELECT  DECODE(GROUPING(A),1,'A')||DECODE(GROUPING(B),1,'B')||DECODE(GROUPING(C),1,'C')||DECODE(GROUPING(D),1,'D') COB,
             SUM(NUM) SUMS
FROM G_T
GROUP BY  CUBE(a,b,c,D)   
having a||b||c||d  IS NULL  

CREATE TABLE thing_tmp
(thing_name VARCHAR2(20),
thing_value NUMBER
);

select t.*,t.rowid from  thing_tmp t;

INSERT INTO thing_tmp (thing_name,thing_value) VALUES ('A',100);
INSERT INTO thing_tmp (thing_name,thing_value) VALUES ('B',200);
INSERT INTO thing_tmp (thing_name,thing_value) VALUES ('C',300);
INSERT INTO thing_tmp (thing_name,thing_value) VALUES ('D',400);
INSERT INTO thing_tmp (thing_name,thing_value) VALUES ('E',500);
COMMIT;
select t.*,t.rowid from  thing_tmp t;

SELECT sys_connect_by_path(thing_name, ' ') thing_comb,
       substr(sys_connect_by_path(thing_value, '+') || ' = ' || to_char(nvl(PRIOR t.thing_value, 0) + t.thing_value), 2) price_comb
FROM   (SELECT rownum rn,
               thing_name,
               thing_value
        FROM   thing_tmp) t
CONNECT BY PRIOR t.rn < t.rn;

SELECT TRUNC(SYSDATE-3650,'iw')  +7*ROWNUM  monday,TRUNC(SYSDATE-3650,'iw') +7*ROWNUM+6 sunday
FROM   dual
CONNECT BY ROWNUM <=500

SELECT DECODE(GROUPING(list_id),1,reg_date,    list_ID)  list_ID,
             DECODE(GROUPING(list_id),1,NULL,          MAX(list_content )) list_content
FROM  your_table
GROUP BY  reg_date,ROLLUP(list_id)
ORDER BY  reg_date ,list_id   DESC

select distinct decode(length(sys_connect_by_path(name,'-vs-')),5,'a-vs-b', substr(sys_connect_by_path(name,'-vs-'),5,6))
from  test
  connect by  prior name<   name

select no,kjyf+1 need_yf
from
      (select no,kjyf,
                 row_number() over (partition by no,n order by kjyf) s,
                 lead(f) over(partition by no,n order by yxq  )  n_f
       from
              (select  a.no,kjs,kjyf, kjyf-row_number() over ( order by a.no,a.kjyf) n,
                           sign(kjs-hds) f,yxq
               from gru_fps   a,
                       (select no,hds,to_char(yxq_q,'yyyymm') yxq,
                                       lead(to_char(yxq_q,'yyyymm'),1,to_char(yxq_q,'yyyymm')+3) over(partition by no order by yxq_q ) n_yxq
                       from gru_hds ) b
               where a.no=b.NO(+)
               and   a.kjyf >=b.YXQ(+)
               and   a.kjyf                order by 1,3
              )
          )
where mod(s,3)=0
and   n_f<>-1

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9066649/viewspace-438911/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 我写过的sql记录2
请登录后发表评论 登录
全部评论

注册时间:2008-08-29

  • 博文量
    11
  • 访问量
    23093