Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Çë½ÌÒ»ÌõsqlÓï¾äÈçºÎд

ÎÒÓÐÒÔϱí½á¹¹

id  status          time
1    a        2010-2-21 08:13:23
2    b 2010-2-21 08:15:10
3    a 2010-2-21 08:19:29
4    b 2010-2-21 09:13:30
5    a 2010-2-21 10:13:49


ÎÒÏëµÃµ½ÒÔϽá¹û£¬ÒÔid ÉýÐòÀ´´¦Àí£¬×îÔçÒ»¸östatusΪbºÍaµÄtimeʱ¼ä²î£¬ÃëΪµ¥Î»£¬¼´id=2ºÍid=1µÄÄÇÁ½Ìõ¼Ç¼£¬È»ºóÈç´ËÀàÍÆÔÙ¼ÓÉÏÏÂÒ»¸östatus£ºbºÍa µÄtimeʱ¼ä²î£¨ÃëΪµ¥Î»£©£¬Ö±µ½×îºóÒ»¸östatus=aµÄ¼Ç¼µÄʱºò£¬Èç¹ûûÓÐÏÂÒ»ÌõstatusΪbµÄtime×÷²Î¿¼¼ÆËãʱ¼ä²î£¬ÄÇôֱ½ÓÈ¡µ±Ç°·þÎñÆ÷ʱ¼äÀ´»ñµÃʱ¼ä²î£¬×îºó»ñµÃʱ¼ä²îµÄ×ܺͣ¬ÄÇôÈçºÎʹÓÃÒ»ÌõsqlÓï¾ä»ñµÃ´Ë½á¹û£¿
SQL code:
---²âÊÔÊý¾Ý---
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([id] int,[status] varchar(1),[time] datetime)
insert [tb]
select 1,'a','2010-2-21 08:13:23' union all
select 2,'b','2010-2-21 08:15:10' union all
select 3,'a','2010-2-21 08:19:29' union all
select 4,'b','2010-2-21 09:13:30' union all
select 5,'a','2010-2-21 10:13:49'

---²éѯ---
select
sum(datediff(ss,a.[time],isnull(b.[time],getdate()))) as [ʱ¼ä²î×ܺÍ(Ãë)]
from
(select *,px=(select count(1) from tb where status='a' and [time]<t.[time]) from tb t where status='a') a
left join
(select *,px=(select count(1) from tb where status='b' and [time]<


Ïà¹ØÎÊ´ð£º

sqlÓï¾ä¶à±í¶à×ֶβéѯ - MS-SQL Server / »ù´¡Àà

ÎÒÓжà¸ö±íA B C ½á¹¹ÊÇÒ»ÑùµÄ£¬¶¼ÓÐ2¸ö×Ö¶ÎnameºÍcontent,ÎÒÒªËÑË÷ËùÒÔ±íËùÓÐ×Ö¶ÎÖаüº¬¡°Öйú¡±µÄÄÚÈÝ Õâ¸öSQLÓï¾äÔõôд 

ÈçºÎ½«¶à¸ö±íµÄ²éѯ½á¹ûÁ¬³ÉÒ»¸ö±í Õâ¸öSQLÓï¾äÔõôд ±íµÄ½á¹¹ÊÇÒ»ÑùµÄ
ÀýÈç£ ......

Asp+sql serverÎÊÌâ - Web ¿ª·¢ / ASP

ÎÒÒ»¸öÏîÄ¿£¬Óиö²åÈë²Ù×÷£¬¾ßÌåÊÇÕâÑùµÄ£º
ÎÒÓнø»õÐÅÏ¢±í¡£ÔÚ³ö»õʱѡÔñÏàÓ¦µÄ½ø»õÐÅÏ¢£¬ÊäÈëÊýÁ¿£¬Ñ¡Ôñ²¿Ãź󣬵㱣´æ°´Å¥£¬ÓÉÓÚÍøÂçÑÓʱ£¬µãÒ»ÏÂûÓз´Ó³£¬ÓÚÊÇÓû§¾ÍÓÖµãһϣ¬µ¼ÖÂÒ»´Î²åÈëÁËÁ½Ìõ¼Ç¼:
Àý£º ......

sqlÓÅ»¯ - Oracle / »ù´¡ºÍ¹ÜÀí

select count(1) from FX_RETURNBOOKCHECKLIST fxreturnbo0_ where fxreturnbo0_.BOOKID='164 ' AND fxreturnbo0_.RETURNID='00025.S0000001' 
ÉÏÃæÒ»¸ö¼òµ¥µÄSQL,Ö´ÐÐʱ¼ä2.6à ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ