巧用rownum查询连续季度
来源:互联网 发布:寻求淘宝合作伙伴 编辑:程序博客网 时间:2024/04/30 00:54
下面可以说是这类查询的一个模版SQL,如果大家在工作中碰到类似的问题,可以借助该SQL去解决,希望能帮助到大家。
- select count(1)
- from (select t.*, rownum rnum
- from (select t.quarter
- from 表名 t
- where t.quarter <= '201103'
- group by t.quarter
- order by t.quarter desc) t) t
- where (to_number(substr('201103', 0, 4)) -
- to_number(substr(t.quarter, 0, 4))) * 4 +
- ((to_number(substr('201103', 5, 6)) + 1 -
- to_number(substr(t.quarter, 5, 6)))) = t.rnum
- and t.rnum = rownum
说明:季度存放格式201001,表示2010年1季度,以此类推。
另也可以使用row_number() over(order by t.quarter desc)减少一层select,代码如下:
- select count(1)
- from (select row_number() over(order by t.quarter desc) rnum,
- t.quarter
- from 表名 t
- where t.quarter <= '201103'
- group by t.quarter
- order by t.quarter desc) t
- where (to_number(substr('201103', 0, 4)) -
- to_number(substr(t.quarter, 0, 4))) * 4 +
- ((to_number(substr('201103', 5, 6)) + 1 -
- to_number(substr(t.quarter, 5, 6)))) = t.rnum
- and t.rnum = rownum;
至于rownum和row_number() 在使用上的区别,本人建议还是直接使用原生态的rownum,因为这样子的效率是最高的。
- 巧用rownum查询连续季度
- 傅老师技巧:巧用rownum查询连续季度
- 傅老师技巧:巧用rownum查询连续季度
- Oracle 按年、月、日、周、季度连续查询
- mysql rownum 的另外一种实现方法,连续号码段查询
- 按年季度查询数据
- 按季度查询数据
- rownum分页查询
- rownum进行分页查询
- mysql类似rownum查询
- Oracle中分段查询rownum
- MySQL查询获取行号rownum
- 查询分页--oracle的rownum
- SQL 按周,月,季度,年查询统计数据
- SQL 按周,月,季度,年查询统计数据
- SQL 按周,月,季度,年查询统计数据
- MySQL 按周,月,季度,年查询
- oracle 查询按年、月份,季度,周分组
- 谁是下一个价值19亿美元的91无线?谁又是下一个百度?
- UVa 10304 (黑书例题,DP)
- Android 日常使用学习笔记 ——SparseArray
- OpenMP学习之--数据环境(代码示例)
- 归并排序
- 巧用rownum查询连续季度
- Uninstall Toolbar Cleaner with WindowsUninstaller.Org Removal Tips
- Installing VMware Workstation 9.0.2 on Fedora 19
- Xcode文档阅读指南
- 博客:齐威王
- Qt两个文件的内容合并
- 如何设置按钮背景透明度
- 第一次试用vc2010的openmp功能, 多线程并行执行for循环
- 一步一步学android之布局管理器——AbsoluteLayout