sql over的作用及用法

来源:互联网 发布:淘宝的付款方式怎么改 编辑:程序博客网 时间:2024/05/16 08:54

RANK ( ) OVER ( [query_partition_clause] order_by_clause )
DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause )
可实现按指定的字段分组排序,对于相同分组字段的结果集进行排序
,
其中PARTITION BY 为分组字段,ORDER BY 指定排序字段

1.over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用。其参数:overpartition by columnname1 order by columnname2)含义:按columname1指定的字段进行分组排序,或者说按字段columnname1的值进行分组排序。例如:employees表中,有两个部门的记录:department_id 1020 select department_idrank() overpartition by department_id order by salary) from employees就是指在部门10中进行薪水的排名,在部门20中进行薪水排名。如果是partition by org_id,则是在整个公司内进行排名

2.不是over,Rank() over ,具体语法形如: RANK ( ) OVER ( [query_partition_clause] order_by_clause ) DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause ) 可实现按指定的字段分组排序,对于相同分组字段的结果集进行排序, 其中PARTITION BY 为分组字段,ORDER BY 指定排序字段

原创粉丝点击