SQL查询 - 计算天数之间的天数

时间:2016-05-26 17:41:29

标签: sql sql-server select

我有一个包含列

的表
RowId        int    
MailSent     DateTime    
Acknowledged DateTime    
Name         varchar(100)

数据如下,

ROWID  MAILSENT     ACKNOWLEDGED NAME    
1.     2016/01/01.   NULL.        A    
2.     NULL.         2016/01/10   A    
3.     2016/01/21.   NULL.        A    
4.     NULL.         2016/01/30.  A     
5.     2016/01/01.   Null.        B    
6.     Null.         2016/01/10   B

所以我需要的结果是用户确认邮件的总天数。

对于用户A,答案应该是20天(10 + 10),而用户B则是10天。

请向我提供有关计算用户确认所有邮件的总天数的查询。

2 个答案:

答案 0 :(得分:0)

DECLARE @startdate date = MailSent
DECLARE @enddate date = Acknowledged

SELECT DATEDIFF(day,@ date1,@ date2);

MSDN LINK:https://msdn.microsoft.com/en-us/library/ms189794.aspx

答案 1 :(得分:0)

试试这个:

  

选择datediff(day,stuff.start,stuff.end)(选择   max(mailsent)为start,max(已确认)为end group by name)stuff