日期:2014-05-18  浏览次数:20359 次

求变化趋势的语句
数据如下   :
id   time   num
1     9:01     -1
1     9:02     -2
1     9:05     -1
1     9:07     0
1     9:09     1
2     9:01     -1
2     9:03     -2
3     10:01     1
3     10:02     0
3     10:15     -1
4     9:37       1
..     ...       ..
num总是从1或者-1开始,无规律地递增1或者递减1.
id为1的记录以及id为3的记录,num的值不是直线变化的

如何能找出这样的记录?

------解决方案--------------------
select id,max(num),min(num),count(*) from table
group by id
having (max(num)-min(num)+1) <> count(*)

换个方式思考下:如果直线变化,那么 个数=max(num)-min(num)+1