oracle row_number() 函数的应用

来源:互联网 发布:mac人民币符号怎么打 编辑:程序博客网 时间:2024/05/18 15:57
row_number() 是分析函数,分析函数主要用于有分组分析的SQL中,针对楼主使用的row_number() 函数,我给简单解释一下分析函数的语法如下:<函数>(<字段1>,<字段2>,...)over (partition by <分组字段> order by <分组后排序字段> <窗口字句>)其中<>中的内容可以根据实际使用的函数来改变而row_number() 函数的语法中partition by 和order by 是必须要有的部分,就好像写select要有from部分一样,楼主的sql中缺失了关键字partition by 所以会报错我来举个row_number() 函数用法的例子来帮助理解:现在有表A(ID,姓名,部门,工资)ID    姓名   部门   工资1     张三   部门A   10002     李四   部门A   20003     王五   部门B   20004     赵六   部门B   30005     钱七   部门C   1000如果我想取得各个部门中工资最多的人的信息(姓名,部门,工资),那么使用分析函数会比较方便select X.姓名,X.部门,X.工资 from(select row_number() over(partition by 部门 order by 工资 desc) as No,姓名,部门,工资from 表A) Xwhere X.No=1实行结果:姓名   部门   工资李四   部门A   2000赵六   部门B   3000钱七   部门C   1000

原创粉丝点击