码迷,mamicode.com
首页 > 其他好文 > 详细

10.3 定位连续值范围的开始点和结束点

时间:2017-09-14 23:38:34      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:start   mysql   drop   定位   nbsp   table   where   sele   into   

drop view v;
create table v (
proj_id int(2),
proj_start date,
proj_end date);

insert into v values(1,‘2005-03-01‘,‘2005-03-02‘);
insert into v values(2,‘2005-03-02‘,‘2005-03-03‘);
insert into v values(3,‘2005-03-03‘,‘2005-03-04‘);
insert into v values(4,‘2005-03-04‘,‘2005-03-05‘);
insert into v values(5,‘2005-03-05‘,‘2005-03-07‘);
insert into v values(6,‘2005-03-06‘,‘2005-03-17‘);
insert into v values(7,‘2005-03-17‘,‘2005-03-18‘);
insert into v values(8,‘2005-03-18‘,‘2005-03-19‘);
insert into v values(9,‘2005-03-19‘,‘2005-03-20‘);
insert into v values(10,‘2005-03-21‘,‘2005-03-22‘);
insert into v values(11,‘2005-03-26‘,‘2005-03-27‘);
insert into v values(12,‘2005-03-27‘,‘2005-03-28‘);
insert into v values(13,‘2005-03-28‘,‘2005-03-29‘);
insert into v values(14,‘2005-03-29‘,‘2005-03-30‘);

create view v2
as 
select a.*,case when (
select b.proj_id from v b
where a.proj_start = b.proj_end
)
is not null then 0 else 1
end as flag
from v a;

mysql> select * from v2;
+---------+------------+------------+------+
| proj_id | proj_start | proj_end   | flag |
+---------+------------+------------+------+
|       1 | 2005-03-01 | 2005-03-02 |    1 |
|       2 | 2005-03-02 | 2005-03-03 |    0 |
|       3 | 2005-03-03 | 2005-03-04 |    0 |
|       4 | 2005-03-04 | 2005-03-05 |    0 |
|       5 | 2005-03-05 | 2005-03-07 |    0 |
|       6 | 2005-03-06 | 2005-03-17 |    1 |
|       7 | 2005-03-17 | 2005-03-18 |    0 |
|       8 | 2005-03-18 | 2005-03-19 |    0 |
|       9 | 2005-03-19 | 2005-03-20 |    0 |
|      10 | 2005-03-21 | 2005-03-22 |    1 |
|      11 | 2005-03-26 | 2005-03-27 |    1 |
|      12 | 2005-03-27 | 2005-03-28 |    0 |
|      13 | 2005-03-28 | 2005-03-29 |    0 |
|      14 | 2005-03-29 | 2005-03-30 |    0 |
+---------+------------+------------+------+


select a.proj_id,a.proj_start,a.proj_end,
(select sum(b.flag)
from v2 b 
where b.proj_id <=a.proj_id ) as proj_prp
from v2 a;

 

10.3 定位连续值范围的开始点和结束点

标签:start   mysql   drop   定位   nbsp   table   where   sele   into   

原文地址:http://www.cnblogs.com/liang545621/p/7523329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!