2016-05-26 10 views
0

Ich habe eine Tabelle, die SpaltenSQL-Abfrage - Berechnung der Anzahl der Tage zwischen den Tagen

RowId  int  
MailSent  DateTime  
Acknowledged DateTime  
Name   varchar(100) 

Datas als unten,

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 

So das Ergebnis, das ich total Tage müssen von Benutzern hochgeladen ist anzuerkennen, die Post.

Wie für Benutzer A sollte die Antwort 20days (10 +10) sein und für Benutzer B ist 10days.

Bitte stellen Sie mir Anfrage für die Berechnung der gesamten Tage von Benutzern genommen, um alle Mails zu bestätigen.

+1

Welche Datenbank verwenden Sie? Postgreßql? – Rob

+0

Ihre Frage ist nicht klar. Sie meinen die Gesamtanzahl (einzelne Zahlenausgabe) oder eine Zeile pro Name mit der Gesamtzahl der Tage, die dieser Benutzer benötigt, um alle seine Mails zu verarbeiten? Auch im Umgang mit funkigen Dingen wie Daten und Zeitstempeln müssen Sie angeben, über welche Datenbank Sie sprechen. –

+0

Diese Frage zeigt keinen Forschungsaufwand. –

Antwort

0

DECLARE @StartDate date = MailSent
DECLARE @enddate date = Quittiert

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

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

+0

MAILSENT, bestätigt Spalten werden nicht b in der gleichen Zeile – user2086000

+0

guter Punkt ... obwohl die Antwort oben ist, muss er nur eine auserwählte Aussage machen, um den Anfang und das Ende zu erhalten. –

0

Try this:

wählen datediff (Tag, stuff.start, stuff.end) aus (wählen max (mailsent) als Start, max (quittiert) als Endgruppe nach Name) Zeug

Verwandte Themen