partition by 会根据分类字段进行排序 加上rownum 可以形成 每组从1开始重新排序

举个例子, 我要根据时间为依据,连续出现合并为一组,统计每组在区间里的次数

---------------------------------------------------

2010-07-18   2010-07-25   359
2010-06-13   2010-07-11   358
2010-06-06   2010-06-06   359
2010-05-16   2010-05-30   360

---------------------------------------------------

可以用以下代码实现

模拟数据

create table x (weekEndDate char(10), storeCount int);
insert into x values
('2010-07-25',359),
('2010-07-18',359),
('2010-07-11',358),
('2010-07-04',358),
('2010-06-27',358),
('2010-06-20',358),
('2010-06-13',358),
('2010-06-06',359),
('2010-05-30',360),
('2010-05-23',360),
('2010-05-16',360);

排序分组语句

select min(weekenddate) as startdate, max(weekenddate) as enddate, min(storecount) as storecount
from
(select weekenddate, storecount, concat(row_number() over (order by weekenddate) -row_number() over (partition by storecount order by weekenddate),'|',storecount) as groupkey from x) w
group by groupkey order by startdate desc;

根据普通排序 order by 与 分区排序 partition by 做排序相减 就可以得到 新的分组列,我们就知道按照这个列去得到我们要的结果了

最新文章

  1. Python 中的map和reduce学习笔记
  2. [转]linux shell数据重定向(输入重定向与输出重定向)详细分析
  3. 操作系统开发系列—12.a.从Loader到内核 ●
  4. json 判断字段
  5. AGPS 常见的两种定位模式
  6. CTSC2014 被虐总结
  7. hdu 5534 Partial Tree 背包DP
  8. 单实例运行tz
  9. 忘记root口令的处理方法
  10. 关于IIS7.5下的web.config 404 配置的一些问题
  11. 将文件放到Android模拟器的SD卡中的两种解决方法
  12. Flex4开发笔记(与JAVA交互)
  13. 自己实现的sax XML解析,可能会有误
  14. iptables禁止ping入
  15. 启动docker容器 防火墙问题报错 ! -i docker0' failed: iptables: No chain/target/match by that name.
  16. [转] getBoundingClientRect判断元素是否可见
  17. Multi-Nim游戏结论不变证明
  18. HihoCoder - 1807:好的数字串 (KMP DP)
  19. ElasticSearch概述
  20. 转 configure: error: Cannot find ldap.h

热门文章

  1. 离线安装python的ibm_db模块
  2. 利用requests库访问网站
  3. JMeter基础【第六篇】JMeter5.1事务、检查点、集合点、思考时间、其余设置等
  4. layoutSubviews的缺省实现是使用约束进行布局
  5. trait Monad:函数式编程类型系统本博客搜索关键字--类型升降
  6. arduino入门笔记
  7. Educational Codeforces Round 47 (Rated for Div. 2) G. Allowed Letters
  8. docker 服务无法启动
  9. OpenCV 学习笔记(5) 使用opencv打开笔记本摄像头
  10. SQL Server Spool 假脱机