同一列,时间差计算

sjm3916 2010-01-04 11:19:44
列 a b
1 2009/6/1
1 2009/6/3
1 2009/6/5
2 2009/6/2
2 2009/6/2
. .
. .


请问下如何计算 a列相同情况下,b列的最大时间差?
...全文
146 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2010-01-04
  • 打赏
  • 举报
回复
select a,max(b)-min(b)
from table1
group by a
sjm3916 2010-01-04
  • 打赏
  • 举报
回复
谢谢了 很管用~~
原来datetime类型也可以用min()和max()。。。
汗~~
黄_瓜 2010-01-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liangck 的回复:]
SQL codeselect 列a,datediff(day,min(列b),max(列b))as[最大天差]from tbgroupby 列a
[/Quote]
百年树人 2010-01-04
  • 打赏
  • 举报
回复
---测试数据---
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([a] int,[b] datetime)
insert [tb]
select 1,'2009/6/1' union all
select 1,'2009/6/3' union all
select 1,'2009/6/5' union all
select 2,'2009/6/2' union all
select 2,'2009/6/2'

---查询---
select
a,
datediff(dd,min(b),max(b)) as [时间差(天)]
from
tb
group by
a

---结果---
a 时间差(天)
----------- -----------
1 4
2 0

(所影响的行数为 2 行)
百年树人 2010-01-04
  • 打赏
  • 举报
回复
select 
a,
datediff(dd,min(b),max(b))
from
tb
group by
a
liangCK 2010-01-04
  • 打赏
  • 举报
回复
select 列a,datediff(day,min(列b),max(列b)) as [最大天差]
from tb
group by 列a

22,209

社区成员

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

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