MySQL解决连续个月问题
2015-09-18 10:59
519 查看
1、引言
最近才开始接触各种奇葩统计数据,想网上很多美丽大神咨询,得到一些结果。记录下来以备自己和大家共享吧
2、查询连续个月
直接贴图看看嘛
![](http://img.blog.csdn.net/20150918110329539?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
进入http://sqlfiddle.com/
需要查询的表格放左边:
结果:
![](http://img.blog.csdn.net/20150918110606899?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
最近才开始接触各种奇葩统计数据,想网上很多美丽大神咨询,得到一些结果。记录下来以备自己和大家共享吧
2、查询连续个月
直接贴图看看嘛
进入http://sqlfiddle.com/
需要查询的表格放左边:
/*SQLyog Ultimate v11.25 (64 bit) MySQL - 5.5.30-tokudb-7.1.0-log ********************************************************************* */ /*!40101 SET NAMES utf8 */; create table `tt1` ( `user_id` int (11), `start_ymd_month` varchar (21) ); insert into `tt1` (`user_id`, `start_ymd_month`) values('18','2015-09'); insert into `tt1` (`user_id`, `start_ymd_month`) values('18','2015-08'); insert into `tt1` (`user_id`, `start_ymd_month`) values('18','2015-07'); insert into `tt1` (`user_id`, `start_ymd_month`) values('18','2015-06'); insert into `tt1` (`user_id`, `start_ymd_month`) values('18','2015-03'); insert into `tt1` (`user_id`, `start_ymd_month`) values('18','2015-01'); insert into `tt1` (`user_id`, `start_ymd_month`) values('18','1970-01'); insert into `tt1` (`user_id`, `start_ymd_month`) values('18','0000-00'); insert into `tt1` (`user_id`, `start_ymd_month`) values('19','2015-08'); insert into `tt1` (`user_id`, `start_ymd_month`) values('20','2015-08'); insert into `tt1` (`user_id`, `start_ymd_month`) values('20','2015-07'); insert into `tt1` (`user_id`, `start_ymd_month`) values('20','2015-05'); insert into `tt1` (`user_id`, `start_ymd_month`) values('20','2015-04'); insert into `tt1` (`user_id`, `start_ymd_month`) values('20','0000-00'); insert into `tt1` (`user_id`, `start_ymd_month`) values('21','2015-08'); insert into `tt1` (`user_id`, `start_ymd_month`) values('21','2015-06'); insert into `tt1` (`user_id`, `start_ymd_month`) values('21','0000-00'); insert into `tt1` (`user_id`, `start_ymd_month`) values('22','2015-08'); insert into `tt1` (`user_id`, `start_ymd_month`) values('22','2015-06'); insert into `tt1` (`user_id`, `start_ymd_month`) values('22','2015-03'); insert into `tt1` (`user_id`, `start_ymd_month`) values('22','1970-01'); insert into `tt1` (`user_id`, `start_ymd_month`) values('22','0000-00'); insert into `tt1` (`user_id`, `start_ymd_month`) values('23','2015-08'); insert into `tt1` (`user_id`, `start_ymd_month`) values('23','2015-06'); insert into `tt1` (`user_id`, `start_ymd_month`) values('23','2015-03');sql语句放右边
select t.user_id, min(t.start_ymd_month), max(t.start_ymd_month), count(t.start_ymd_month) from ( select a.user_id,a.start_ymd_month, @rownum=@rownum + 1 rownum, left(a.start_ymd_month,4)*12+right(a.start_ymd_month,2) as mon from ( select user_id,start_ymd_month from tt1 order by 1,2 )a, (select @rownum=0) b ) t group by t.user_id ,t.rownum - t.mon
结果:
相关文章推荐
- Hibernate 处理 mysql 大文本
- MYSQL 的常用操作
- MySQL多实例的配置
- 关于.Net使用企业库访问MySql数据库
- wampser如何开启类似mysql实时查询日志
- MySQL(root用户)密码重置
- MySQL于ON DUPLICATE KEY UPDATE采用
- Mysql基础知识点汇总
- 使用MySQL命令行备份及恢复数据库
- mysql复习笔记
- 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
- mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database
- Mysql基础知识点汇总
- mysql一个连续日期(天)次数的统计
- mysql体系结构之不得不说
- [转]101个MySQL开源数据库调试和优化技巧
- mysql 记录语句记录
- WAS学习笔记之配置MySQL数据源
- Keepalived+MySQL(双主热备)
- Windows下一个MySQL有些错误的解决方法