MySQL 获取连续范围
2015-04-21 15:56
162 查看
1、原始数据
2、把running_number转成数据,并加上一列有序数字
3、running_number与有序数据的差,差(diff)相同的的running_number说明是连续的
4、根据差来分组,并获得相关差的最小及最大running_number,就形成了连续范围
5、参考《MySQL技术内幕:SQL编程》 2.6.2连续范围问题
2、把running_number转成数据,并加上一列有序数字
SELECT d.running_number+0 running_number,@a:=@a+1 rn FROM device_data d,(SELECT @a:=0) a where d.device_id=13 order by d.running_number;
3、running_number与有序数据的差,差(diff)相同的的running_number说明是连续的
SELECT running_number,rn,running_number-rn diff FROM (SELECT d.running_number+0 running_number,@a:=@a+1 rn FROM device_data d,(SELECT @a:=0) a where d.device_id=13) b;
4、根据差来分组,并获得相关差的最小及最大running_number,就形成了连续范围
select min(c.running_number) min,max(c.running_number) max from (SELECT running_number,rn,running_number-rn diff FROM (SELECT d.running_number+0 running_number,@a:=@a+1 rn FROM device_data d,(SELECT @a:=0) a where d.device_id=13) b)c group by diff;
5、参考《MySQL技术内幕:SQL编程》 2.6.2连续范围问题
相关文章推荐
- MYSQL 不依赖其他表构建日期范围内的连续月份或日期
- MySQL 获取不连续的值
- mysql获取某个范围内的随机数,写了个存储过程自动生成随机6为密码
- mysql 给定起止日期获取之间的连续日期
- MySQL获取某个时间范围内的数据
- MySql获取时间范围中的随机日期
- Mysql 求连续范围和间断范围
- 在SQL SERVER 中获取指定连续月份的旬的日期范围
- mysql中获取两个日期之间的连续日期列表的sql
- mysql - 缺失范围和连续范围
- [置顶] MySQL 虚拟表获取数据行号
- 如何正确获取MYSQL的ADO连接字符串
- mysql 各种字段取值范围 2009-12-23
- mysql 获取字符串长度
- TypeScript 2 : 获取当前日期及前后范围日期【Array】
- Mysql实现数据的不重复写入(insert if not exists)以及新问题:ID自增不连续的解答
- MYSQL 获取当前日期及日期格式
- sql获取随机记录(MYSQL,ACCESS,ORACLE,SQL Server)
- mysql 获取当前日期周一和周日
- 在ibatis和mysql环境下使用insert如何获取返回值