標籤

4GL (1) 人才發展 (10) 人物 (3) 太陽能 (4) 心理 (3) 心靈 (10) 文學 (31) 生活常識 (14) 光學 (1) 名句 (10) 即時通訊軟體 (2) 奇狐 (2) 音樂 (2) 產業 (5) 郭語錄 (3) 無聊 (3) 統計 (4) 新聞 (1) 經濟學 (1) 經營管理 (42) 解析度 (1) 遊戲 (5) 電學 (1) 網管 (10) 廣告 (1) 數學 (1) 機率 (1) 雜趣 (1) 證券 (4) 證券期貨 (1) ABAP (15) AD (1) agentflow (4) AJAX (1) Android (1) AnyChart (1) Apache (14) BASIS (4) BDL (1) C# (1) Church (1) CIE (1) CO (38) Converter (1) cron (1) CSS (23) DMS (1) DVD (1) Eclipse (1) English (1) excel (5) Exchange (4) Failover (1) FI (57) File Transfer (1) Firefox (2) FM (2) fourjs (1) gladiatus (1) google (1) Google Maps API (2) grep (1) Grub (1) HR (2) html (23) HTS (8) IE (1) IE 8 (1) IIS (1) IMAP (3) Internet Explorer (1) java (3) JavaScript (22) jQuery (6) JSON (1) K3b (1) LED (3) Linux (112) Linux Mint (4) Load Balance (1) Microsoft (2) MIS (2) MM (51) MSSQL (1) MySQL (27) Network (1) NFS (1) Office (1) Oracle (125) Outlook (3) PDF (6) Perl (59) PHP (33) PL/SQL (1) PL/SQL Developer (1) PM (3) Postfix (2) postfwd (1) PostgreSQL (1) PP (50) python (1) QM (1) Red Hat (4) Reporting Service (28) ruby (11) SAP (234) scp (1) SD (16) sed (1) Selenium-WebDriver (5) shell (5) SQL (4) SQL server (8) SQuirreL SQL Client (1) SSH (2) SWOT (3) Symantec (2) T-SQL (7) Tera Term (2) tip (1) tiptop (22) Tomcat (6) Trouble Shooting (1) Tuning (5) Ubuntu (33) ufw (1) utf-8 (1) VIM (11) Virtual Machine (2) vnc (3) Web Service (2) wget (1) Windows (19) Windows (1) WM (6) youtube (1) yum (2)

2012年2月15日 星期三

SQL : 融資融券 vs. 三大法人

select stkdt,stkid,stknm,margin,short,to_char(券資比,'990.99')||' %' 券資比
  from (
        select a.stkdt,a.stkid,b.stknm,a.margin,a.short,
               round(a.short/nullif(a.margin,0)*100,2) 券資比,
               lag(a.short/nullif(a.margin,0),1) over(partition by a.stkid order by a.stkdt) 券資比_1,
               lag(a.short/nullif(a.margin,0),2) over(partition by a.stkid order by a.stkdt) 券資比_2,
               lag(a.short/nullif(a.margin,0),3) over(partition by a.stkid order by a.stkdt) 券資比_3
          from stk_margin a,stk_names b
         where a.stkid = b.stkid
       )
 where 券資比   > 券資比_1
   and 券資比_1 > 券資比_2
   and 券資比_2 > 券資比_3
   and stkdt = '20120215'
 order by stkid,stkdt;

select a.stkdt,a.stkid,a.stknm,a.margin,a.short,to_char(a.券資比,'990.99')||' %' 券資比,
       b.三大法人
  from (
        select a.stkdt,a.stkid,b.stknm,a.margin,a.short,
               round(a.short/nullif(a.margin,0)*100,2) 券資比,
               lag(a.short/nullif(a.margin,0),1) over(partition by a.stkid order by a.stkdt) 券資比_1,
               lag(a.short/nullif(a.margin,0),2) over(partition by a.stkid order by a.stkdt) 券資比_2,
               lag(a.short/nullif(a.margin,0),3) over(partition by a.stkid order by a.stkdt) 券資比_3
          from stk_margin a,stk_names b
         where a.stkid = b.stkid
       ) a,
       (
        select stkid,stknm,sum(nvl(外資,0)+nvl(投信,0)+nvl(自營商,0)) 三大法人
          from (
                select insti,stkdt,stkid,stknm,round(sum(diff)/1000) diff
                  from stk_institutions
                 where stkdt >= '20120213'
                 group by insti,stkdt,stkid,stknm
               )
         pivot (
                sum(diff) for insti in ('F' 外資,'S' 投信,'D' 自營商)
               )
         group by stkid,stknm
        having sum(nvl(外資,0)+nvl(投信,0)+nvl(自營商,0)) > 0
       ) b
 where 券資比   > 券資比_1
   and 券資比_1 > 券資比_2
   and 券資比_2 > 券資比_3
   and stkdt = '20120215'
   and a.stkid = b.stkid
 order by a.stkid,a.stkdt;

沒有留言:

張貼留言