ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法
Oracle中的 ROW_NUMBER() OVER() 分析函数的用法 ROW_NUMBER() OVER(partition by col1 order by col2) 表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内是连续且唯一的)。 举例: SQL> DESC T1; Name Null? Type 101 bbb 10-SEP-13 101 ccc 11-SEP-13 102 ddd 08-SEP-13 102 eee 11-SEP-13 SQL> SELECT ID,NAME,DATE1,ROW_NUMBER() OVER(partition by ID order by DATE1 desc) as RN FROM T1; 把上面语句作为一个子表语句,嵌入到另一条语句中: SQL> SELECT ID,DATE1 FROM (SELECT ID,ROW_NUMBER() OVER(partition by ID order by DATE1 desc) as RN FROM T1)T WHERE T.RN=1; ID NAME DATE1 ---------- ------------------------------ ------------------ 101 ccc 11-SEP-13 102 eee 11-SEP-13 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails – Rails – 无法找到类型为’application /
- postgresql – Postgres UPSERT对任何约束
- 总结切面编程AOP的注解式开发和XML式开发
- flash – 可以为自定义事件和对象层次结构动作脚本3冒泡吗?
- 用正则匹配出一段文章中的img标签
- AJAX 通用与服务器段交互代码范例 客户端未传入参数-----请
- c# – Asp.Net Mvc:无法从我的视图访问我的模型命名空间
- ie9下flash背景问题
- c – 检查模板类的某些专门化是否是特定类的基类
- Oracle RAC相关问题——adding cluster entries toinittab