您的位置:程序门 -> db2 -> 基础类



partition by 与group by 的区别


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


partition by 与group by 的区别[已结贴,结贴人:tomken]
发表于:2007-11-20 18:11:18 楼主
select   distinct   count(*)   from   ads.ads_trvl_acct   group   by   trvl_acct_id,pos_key
这个结果,显示有很多大于一的数据,也就是说有很多重复的值。


select   b.*   from(
select   a.*,rank()   over   (partition   by   trvl_acct_id,pos_key   order   by   trvl_acct_key)   as   dd   from   ads.ads_trvl_acct   a)   b
where   b.dd> 1

但这个结果却显示没有值,也就是说没有重复的值?为什么?
发表于:2007-11-22 10:46:081楼 得分:20
rank()       over       (partition       by       trvl_acct_id,pos_key       order       by       trvl_acct_key)  


这个排列得出来的值   和   order   by   后的   trvl_acct_key   是有关系的
发表于:2007-11-22 17:05:142楼 得分:20
rank()   改成   count(*)   或者   row_number()   都可以的
发表于:2007-11-22 17:20:263楼 得分:10
rank()     和   dense_rank()   row_number()   是有区别的


快速检索

最新资讯
热门点击