posts - 60,comments - 71,trackbacks - 0

                    在實際開發運用中,常會有關于查詢排名的需求,如查詢某一數據完成比率情況,通常可以用自身表先進行相關計算查詢,再和原表進行關聯進行查詢,即可查詢出相關所需的數據.

                   如:要查詢某一農田拆遷情況,需查詢拆遷項目名,拆遷完成比率,可這樣查詢:
                

                select tt.projectname ,tt.wzbl, DENSE_RANK() OVER ( ORDER BY tt.wzbl DESC) as bm from
             
                (
                 select * from kp_confiscate t0,(select kf.promiseunfinished/kf.taskridgepole*0.5+kf.finishedridgepole/kf.taskridgepole as wzbl,kf.id from kp_confiscate kf ) t1      
                 where t0.id=t1.id
                
                 ) tt;

           
             其中:
                      promiseunfinished:簽訂協議未拆完數;
                      finishedridgepole:已拆完數;
                      taskridgepole :任務數
                 
                      拆遷完成比例=簽訂協議未拆完數/任務數x50%+已拆完數/任務數

                     拆遷完成比例即為所需查詢數據.

                    即查詢時,先對自身表進行相關計算查詢(實際的需求就在這個子查詢中完成),然后作為一個子表,和原表進行關聯查詢.


                    注:子表中查詢時,要指定查詢下某字段,此字段是和原字段進行關聯查詢時用的,且應為唯一字段,在和原表關聯查詢時,不應有冗余的數據出現.
          posted on 2009-09-30 17:38 henry1451 閱讀(306) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 云和县| 高唐县| 浙江省| 西平县| 南宁市| 瑞丽市| 综艺| 曲沃县| 乐安县| 蕲春县| 渭源县| 疏勒县| 苗栗市| 青河县| 肃南| 兴业县| 攀枝花市| 乐至县| 禹州市| 光泽县| 灵寿县| 武宣县| 松阳县| 永靖县| 开化县| 伊宁县| 长丰县| 武山县| 楚雄市| 中阳县| 南丹县| 荃湾区| 饶河县| 英山县| 双桥区| 都匀市| 南充市| 扶绥县| 乐业县| 汝城县| 平潭县|