加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 两个日期之间的平均差异,按第三个字段分组?

发布时间:2020-12-12 07:07:45 所属栏目:MsSql教程 来源:网络整理
导读:所以说我们有3个字段,用户名,start_date,end_date 用户启动和停止多个记录,例如,在bob已启动和停止两个记录之下. bob 1/2/13 11:00 1/2/13 13:00jack 1/2/13 15:00 1/2/13 18:00bob 2/2/13 14:00 1/2/13 19:00 我需要知道每个用户所花费的平均时间(即开始和结
所以说我们有3个字段,用户名,start_date,end_date

用户启动和停止多个记录,例如,在bob已启动和停止两个记录之下.

bob   1/2/13 11:00  1/2/13 13:00
jack  1/2/13 15:00  1/2/13 18:00
bob   2/2/13 14:00  1/2/13 19:00

我需要知道每个用户所花费的平均时间(即开始和结束之间的差异),以小时为单位(即按用户分组,而不仅仅是每行).

我不能完全理解如何做差异,平均AND组?有帮助吗?

解决方法

您没有为diff指定所需的粒度.这可以在几天内完成:
select username,avg(end_date - start_date) as avg_days
from mytable
group by username

如果您想要以秒为单位的差异,请使用datediff()

select username,avg(datediff(ss,end_date)) as avg_seconds
...

datediff可以通过改变第一个参数(可以是ss,mi,hh,dd,wk,mm或yy)在任何时间单位中测量差异达数年.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读