校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > oracle排名函數的使用方法分享

oracle排名函數的使用方法分享

熱門標簽:七日殺a19.5全地圖標注 N個你智能電銷機器人 地圖標注怎么保存 電渠外呼系統 外呼電話系統用卡嗎 車瑪仕極限運動場所地圖標注 騰訊地圖標注要費用嗎 廣東營銷智能外呼系統商家 高德地圖標注公司名字大全

在oracle中,有rank,dense_rank,row_number,以及分組排名partition。

說明:

rank:排名會出現并列第n名,它之后的會跳過空出的名次,例如:1,2,2,4
dense_rank:排名會出現并列第n名,它之后的名次為n+1,例如:1,2,2,3
row_number:排名采用唯一序號連續值,例如1,2,3,4
partition:將排名限制到某一分組

格式:
 

row_number() over(partition by bb.channel_name order by sum(aa.dk_serv_num) desc nulls last) p1_rank1,
row_number() over(order by sum(aa.dk_serv_num) desc nulls last) rank1,
dense_rank() over(order by nvl(sum(aa.dk_serv_num), 0) desc) rank2,
rank() over(order by sum(aa.dk_serv_num) desc nulls last) rank3

例子:

procedure GetCompetitionRanking(p_UserId in integer, p_CompetitionId in integer, v_cursor out CompetitionCursor)
is
v_startDate date;
v_endDate date;
tmp_startDate varchar2(12);
tmp_endDate varchar2(12);
tmp_date date;
v_sql1 varchar2(2000);
v_sql2 varchar2(2000);
v_where varchar2(1000);

v_comTotal integer;
v_groupTotal integer;
v_comRanking integer;
v_groupRanking integer;
begin
select t.start_date, t.end_date into v_startDate, v_endDate from tbl_competition t where t.competition_id = p_CompetitionId;

tmp_date:= v_endDate+1;
tmp_startDate := to_char(v_startDate, 'yyyy-mm-dd');
tmp_endDate := to_char(tmp_date, 'yyyy-mm-dd');

--group personal total
select count(1) into v_groupTotal from tbl_com_group_user a
where a.com_group_id in
(
select b.com_group_id from tbl_com_group_user b where b.user_id = p_UserId
);

-- Competition personal total
select count(1) into v_comTotal from
(
select a.com_group_id from tbl_com_group a where a.competition_id = p_CompetitionId
) a inner join tbl_com_group_user b on a.com_group_id = b.com_group_id;

--user in competition ranking and group ranking
v_where := 't.DATA_TYPE_ID=1 AND t.STATUS=1 AND
t.DATA_DATE_1 >= TO_DATE('||chr(39)||tmp_startDate||chr(39)||','||chr(39)||'yyyy-mm-dd'||chr(39)||') AND
t.DATA_DATE_1  TO_DATE('||chr(39)||tmp_endDate||chr(39)||','||chr(39)||'yyyy-mm-dd'||chr(39)||') ';

/*select no from
(
select a.USER_ID, dense_rank() over(order by sum(nvl(DATA_NUMBER_2, 0)) desc) no 
from
(
select user_id from tbl_com_group a
left join tbl_com_group_user b on a.com_group_id = b.com_group_id
where a.competition_id = 1
) a left join VM_MASTER_DATA t on a.user_id = t.user_id and t.DATA_TYPE_ID=1 AND t.STATUS=1 AND
t.DATA_DATE_1 >= TO_DATE('2012-10-02','yyyy-mm-dd') AND
t.DATA_DATE_1  TO_DATE('2012-12-01','yyyy-mm-dd') 
group by a.user_id
order by no desc
) where user_id = 165*/

v_sql1 := 'select no from
(
select a.USER_ID, dense_rank() over(order by sum(nvl(DATA_NUMBER_2, 0)) desc) no 
from
(
select user_id from tbl_com_group a
left join tbl_com_group_user b on a.com_group_id = b.com_group_id
where a.competition_id = '||p_CompetitionId||'
) a left join VM_MASTER_DATA t on a.user_id = t.user_id and '|| v_where||'
group by a.user_id
order by no desc 
) where user_id = '||p_UserId;

dbms_output.put_line(v_sql1);
execute immediate v_sql1 into v_comRanking;
dbms_output.put_line('------------------------------');
--dbms_output.put_line(v_comRanking);

/*select no from
( 
select a.USER_ID, dense_rank() over(order by sum(nvl(DATA_NUMBER_2, 0)) desc) no 
from
(
select a.user_id from tbl_com_group_user a
where a.com_group_id in
(
select b.com_group_id from tbl_com_group_user b where b.user_id = 165
)
) a left join VM_MASTER_DATA t on a.user_id = t.user_id and t.DATA_TYPE_ID=1 AND t.STATUS=1 AND
t.DATA_DATE_1 >= TO_DATE('2012-10-02','yyyy-mm-dd') AND
t.DATA_DATE_1  TO_DATE('2012-12-01','yyyy-mm-dd') 
group by a.user_id
order by no desc
)
where user_id=165*/

v_sql2 := 'select no from
(
select a.USER_ID, dense_rank() over(order by sum(nvl(DATA_NUMBER_2, 0)) desc) no
from
(
select a.user_id from tbl_com_group_user a
where a.com_group_id in
(
select b.com_group_id from tbl_com_group_user b where b.user_id = '||p_UserId||'
)
) a left join VM_MASTER_DATA t on a.user_id = t.user_id and '|| v_where||'
group by a.user_id
order by no desc 
) where user_id = '||p_UserId;

dbms_output.put_line(v_sql2);
execute immediate v_sql2 into v_groupRanking;
--dbms_output.put_line('------------------------------');
--dbms_output.put_line(v_groupRanking);

if v_comRanking is null then
v_comRanking := v_comTotal;
end if;

if v_groupRanking is null then
v_groupRanking := v_groupTotal;
end if;

open v_cursor for
select v_comTotal CompetitionPersonalTotal, v_groupTotal UserInGroupPersonTotal, v_comRanking UserInCompRanking, v_groupRanking UserInGroupRanking from dual;

exception
when others then
null;
end;
您可能感興趣的文章:
  • SQL2005 四個排名函數(row_number、rank、dense_rank和ntile)的比較
  • SqlServer 2005的排名函數使用小結
  • SQLSERVER 2005的ROW_NUMBER、RANK、DENSE_RANK的用法
  • Oracle排名函數(Rank)實例詳解
  • 實例講解sql server排名函數DENSE_RANK的用法

標簽:贛州 玉樹 長沙 蘇州 遼寧 大興安嶺 棗莊 來賓

巨人網絡通訊聲明:本文標題《oracle排名函數的使用方法分享》,本文關鍵詞  oracle,排名,函數,的,使用方法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oracle排名函數的使用方法分享》相關的同類信息!
  • 本頁收集關于oracle排名函數的使用方法分享的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久久久青草大香线综合精品| 成人污污视频在线观看| 欧美日韩免费在线视频| 亚洲五码中文字幕| 日韩欧美在线网站| 国产在线精品一区二区不卡了| 久久久精品免费网站| 国产一区二区毛片| 国产精品伦理一区二区| 欧美优质美女网站| 狠狠色丁香婷婷综合| 成人免费在线观看入口| 欧美伦理影视网| 国产在线国偷精品免费看| 国产精品视频免费| 欧美剧情片在线观看| 国产乱人伦偷精品视频不卡 | 国产精品久久毛片| 色婷婷国产精品久久包臀 | 免费观看在线色综合| 欧美成人一区二区| 不卡av在线免费观看| 亚洲资源在线观看| 久久精品水蜜桃av综合天堂| 欧美中文字幕一区| 国产成人精品三级| 日韩不卡一区二区| 日韩一区在线播放| 精品卡一卡二卡三卡四在线| 99国产一区二区三精品乱码| 日本成人中文字幕在线视频| 中文字幕 久热精品 视频在线| 欧美久久久久久蜜桃| www.欧美精品一二区| 蜜臀av亚洲一区中文字幕| 17c精品麻豆一区二区免费| 亚洲欧洲成人自拍| 91精品国产全国免费观看| 成人午夜视频免费看| 美腿丝袜亚洲三区| 伊人开心综合网| 久久久午夜电影| 欧美一区二区三区视频在线| 91色综合久久久久婷婷| 国产在线播放一区二区三区| 日韩成人免费看| 亚洲精品一卡二卡| 国产精品不卡在线| 国产三级一区二区| 精品福利在线导航| 日韩一区二区三区视频| 欧洲精品一区二区| 91热门视频在线观看| 成人中文字幕电影| 国产一区二区三区国产| 久久狠狠亚洲综合| 日韩电影在线观看电影| 性久久久久久久久久久久| 亚洲少妇30p| 中文字幕中文字幕一区二区| 久久综合成人精品亚洲另类欧美| 欧美精品日韩综合在线| 91福利在线播放| 91丨porny丨户外露出| 国产成人aaaa| 国产一区二区免费看| 麻豆中文一区二区| 青青青爽久久午夜综合久久午夜| 婷婷国产v国产偷v亚洲高清| 亚洲一区二区三区四区在线观看| 亚洲男同1069视频| 日韩伦理av电影| 亚洲女人的天堂| 亚洲欧美另类在线| 亚洲一区二区三区四区在线免费观看| 亚洲欧美偷拍三级| 亚洲人成亚洲人成在线观看图片| 中文字幕五月欧美| 亚洲欧美另类久久久精品2019| 国产精品国模大尺度视频| 亚洲色图清纯唯美| 亚洲午夜私人影院| 午夜精品123| 蜜桃视频在线观看一区| 激情综合网激情| 国产激情精品久久久第一区二区| 国产精品66部| 91日韩在线专区| 欧美人体做爰大胆视频| 日韩欧美资源站| 国产无人区一区二区三区| 国产精品久久久久久久裸模| 亚洲欧美另类久久久精品| 亚洲视频狠狠干| 亚洲成av人片在www色猫咪| 美女网站色91| youjizz久久| 在线精品视频小说1| 日韩你懂的电影在线观看| 久久男人中文字幕资源站| 亚洲欧美日韩一区二区| 婷婷亚洲久悠悠色悠在线播放| 久国产精品韩国三级视频| 成人av电影免费观看| 欧美无乱码久久久免费午夜一区| 欧美一区二区久久久| 中文字幕不卡的av| 天堂久久久久va久久久久| 99在线热播精品免费| 91精品国产综合久久精品性色 | 欧美性生交片4| 欧美mv和日韩mv国产网站| 国产精品免费视频观看| 午夜精品久久久久久久久久久| 久久99国产乱子伦精品免费| 91丨国产丨九色丨pron| 欧美成人激情免费网| 日韩理论片在线| 韩国av一区二区三区四区| 色屁屁一区二区| 久久亚洲精品小早川怜子| 亚洲福利视频一区二区| 国产成人小视频| 欧美一级日韩免费不卡| 日韩毛片视频在线看| 精品无人码麻豆乱码1区2区 | www.亚洲人| 欧美va亚洲va| 五月综合激情网| 99天天综合性| 久久先锋影音av鲁色资源网| 亚洲午夜精品一区二区三区他趣| 国产高清不卡一区| 91精品国产欧美一区二区成人| ...av二区三区久久精品| 国产一区二区三区最好精华液| 欧美午夜精品久久久| 国产精品青草综合久久久久99| 蜜桃精品视频在线观看| 欧美在线色视频| 1区2区3区精品视频| 国产成人在线免费| 日韩欧美中文一区二区| 天堂一区二区在线| 欧美性受极品xxxx喷水| 亚洲欧美日韩国产成人精品影院| 高清免费成人av| 久久综合99re88久久爱| 免费欧美日韩国产三级电影| 欧美三级电影在线观看| 尤物视频一区二区| 99精品国产热久久91蜜凸| 国产女主播一区| 成人性生交大片| 中文字幕不卡在线观看| 高清国产一区二区三区| 国产欧美日韩卡一| 国产成人在线看| 国产欧美日本一区视频| 成人精品高清在线| 中文一区二区在线观看| 成人午夜视频在线观看| 国产亚洲精品超碰| 成人av资源在线观看| 国产精品超碰97尤物18| 99视频精品全部免费在线| 国产精品家庭影院| 91小视频在线免费看| 亚洲麻豆国产自偷在线| 91国产丝袜在线播放| 亚洲国产乱码最新视频| 在线电影院国产精品| 免费精品视频最新在线| 日韩女优av电影在线观看| 国内精品伊人久久久久av一坑| 久久在线观看免费| 成人av网址在线观看| 亚洲手机成人高清视频| 91国产精品成人| 青青草国产精品97视觉盛宴| 精品日韩99亚洲| 成人av在线播放网址| 亚洲在线免费播放| 91精品国产综合久久久久久久| 国内精品免费**视频| 国产精品私人自拍| 91国产视频在线观看| 男女男精品视频| 国产精品私人自拍| 欧美日韩一二区| 激情文学综合插| 亚洲欧洲av一区二区三区久久| 精品视频在线免费观看| 毛片av中文字幕一区二区| 五月激情丁香一区二区三区| 日韩免费视频一区二区| 岛国精品在线观看| 午夜精品久久久久久久久久| 久久精品人人做| 欧美性色aⅴ视频一区日韩精品|