一个SQL问题,难倒我了!

xier5213344 2010-09-19 09:57:28
--创建表sousoutb
create table sousoutb
(name varchar(50) null,
etime datetime null,
id int null,
)


--插入数据
insert into sousoutb(id,name,etime)
select 1,'A','2010-09-19 08:6:47.857' union
select 2,'A','2010-09-19 08:8:05' union
select 3,'A','2010-09-19 08:16:05' union
select 4,'A','2010-09-19 08:18:05' union
select 5,'B','2010-09-19 08:7:05' union
select 6,'B','2010-09-19 08:17:05' union
select 7,'B','2010-09-19 08:18:05'



求每个地区(name)里离开时间大于开始时间5分钟的最小的那个!(离开时间和结束时间是etime)
我想要的结果就是:
编号 地区 开始时间 结束时间 时间差
1 'A' '2010-09-19 08:8:47.857' '2010-09-19 08:16:05' 8
2 'B' '2010-09-19 08:7:05' '2010-09-19 08:17:05' 10
...全文
105 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xier5213344 2010-09-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 happycell188 的回复:]
SQL code
use test
go
if object_id('test.dbo.sousoutb') is not null drop table sousoutb

--创建表sousoutb
create table sousoutb
(name varchar(50) null,
etime datetime null,
id int null,
)
--插入……
[/Quote]
我咋没想到这句呢!csdn果然牛X :a.id=b.id-1
喜-喜 2010-09-19
  • 打赏
  • 举报
回复
use test
go
if object_id('test.dbo.sousoutb') is not null drop table sousoutb

--创建表sousoutb
create table sousoutb
(name varchar(50) null,
etime datetime null,
id int null,
)
--插入数据
insert into sousoutb(id,name,etime)
select 1,'A','2010-09-19 08:6:47.857' union
select 2,'A','2010-09-19 08:8:05' union
select 3,'A','2010-09-19 08:16:05' union
select 4,'A','2010-09-19 08:18:05' union
select 5,'B','2010-09-19 08:7:05' union
select 6,'B','2010-09-19 08:17:05' union
select 7,'B','2010-09-19 08:18:05'


select 编号=a.id,地区=a.name
,开始时间=convert(varchar(20),a.etime,120)
,结束时间=convert(varchar(20),b.etime,120)
,时间差=datediff(mi,a.etime,b.etime)
from sousoutb a inner join sousoutb b
on a.name=b.name and a.id=b.id-1 and datediff(mi,a.etime,b.etime)>5

/*
编号 地区 开始时间 结束时间 时间差
----------------------------------------------------------------------
2 A 2010-09-19 08:08:05 2010-09-19 08:16:05 8
5 B 2010-09-19 08:07:05 2010-09-19 08:17:05 10
*/

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧