SQL 将两条数据并成一条
有一表Table1
StarTime,EndTime,state
如:我 22:00 -- 08:00在睡觉,录数据时就要录成,  
22:00 -- 24:00  睡觉    
00:00 -- 08:00  睡觉
如果我用select COUNT(*) from Table1 where state ='睡觉',Count()出来的结果是2,我要如果把这两条数据并成一条,意思就是Count()出来后结果要为1
要怎么写呢
------解决方案-------------------- SQL code
--自连接
--select count(*) from table1 t1 join table1 t2 on t1.endtime=t2.starttime and state='睡觉'
--当然24点和0点自己去处理。因为不知道你是字符,还是time
------解决方案--------------------  count(distinct state)
------解决方案--------------------  探讨  有一表Table1 StarTime,EndTime,state 如:我 22:00 -- 08:00在睡觉,录数据时就要录成,  22:00 -- 24:00 睡觉   00:00 -- 08:00 睡觉 如果我用select COUNT(*) from Table1 where state ='睡觉',Count()出来的结果是2,我要如果把这两条数据并成一条,意思就是Count()…… 
------解决方案--------------------  这个好像有点复杂 如果不连续就算是两条了对吧
------解决方案-------------------- SQL code
--我也来猜一个
;with t as 
(
    select a.* from test a
    where exists (select 1 from test b where a.EndTime='24:00' and b.StartTime='00:00')    
)
select count(*) from t
where state=N'睡觉'
------解决方案--------------------  探讨  引用: 引用: 有一表Table1 StarTime,EndTime,state 如:我 22:00 -- 08:00在睡觉,录数据时就要录成, 22:00 -- 24:00 睡觉 00:00 -- 08:00 睡觉 如果我用select COUNT(*) from Table1 where state ='睡觉',Count()出来的结果是2,我要如果把…… 
------解决方案--------------------  起止时间 字段全设置成 日期格式,录入数据时 开始时间、结束时间 采用 yyyy-mm-dd hh:mm:ss 形式,一条数据不就解决了。 本来挺简单的事,搞那么复杂,你设计数据库的时候,不考虑效率吗?
------解决方案-------------------- 探讨  如果是我自己设计数据库就好了 字段本来我与另一同事说要设成日期格式 经理不干 
------解决方案--------------------  
探讨  引用: 起止时间 字段全设置成 日期格式,录入数据时 开始时间、结束时间 采用 yyyy-mm-dd hh:mm:ss 形式,一条数据不就解决了。 本来挺简单的事,搞那么复杂,你设计数据库的时候,不考虑效率吗? 如果是我自己设计数据库就好了 字段本来我与另一同事说要设成日期格式 经理不干