Ich habe 2 gleiche Abfragen (um "MonthName Jahr" zurückzugeben und zählen) wie unten, aber nur der Datumsbereich in der WHERE-Bedingung ist unterschiedlich. Abfrage 1 erhält nur die Anzahl der Juni-Monate, Abfrage 2 wird von April bis Juli gezählt, wobei die Jun-Monat-Anzahl (in Abfrage 2) nicht mit der Juni-Monat-Zählung von Abfrage 1 übereinstimmt.SQL Server - WHERE Datumsbereich & GROUP BY MonthName
Abfrage 1:
SELECT DATENAME(MONTH, SubmissionDate) + ' ' + DateName(Year, SubmissionDate) AS MonthNumber, COUNT(1) AS InquiryCount
, Cast(Datename(MONTH,SubmissionDate) + ' ' + Datename(YEAR,SubmissionDate) AS DATETIME) AS tmp
FROM [dbo].[InvestigationDetails] (nolock)
WHERE SubmissionDate>= '06/01/2016'
AND SubmissionDate <= '06/30/2016'
GROUP BY DATENAME(MONTH, SubmissionDate) + ' ' + DateName(Year, SubmissionDate), DateName(Year, SubmissionDate)
ORDER BY tmp ASC
Abfrage 2:
SELECT DATENAME(MONTH, SubmissionDate) + ' ' + DateName(Year, SubmissionDate) AS MonthNumber, DateName(Year, SubmissionDate), COUNT(1) AS InquiryCount
, Cast(Datename(MONTH,SubmissionDate) + ' ' + Datename(YEAR,SubmissionDate) AS DATETIME) AS tmp
FROM [dbo].[InvestigationDetails] (nolock)
WHERE SubmissionDate>= '04/01/2016'
AND SubmissionDate <= '07/31/2016'
GROUP BY DATENAME(MONTH, SubmissionDate) + ' ' + DateName(Year, SubmissionDate), DateName(Year, SubmissionDate)
ORDER BY tmp ASC
Danke, Jay
Wie unterscheiden sich die Juni-Daten in der ersten Abfrage von der zweiten? – Santi
Abfrage 1 gibt zurück: Juni 2016 - 290 & Abfrage 2 gibt die Zählung 307 für Juni 2016 zurück. Bitte beraten. – Jay
Brauchen Sie die Daten zu spielen und sehen, was los ist, aber um es zu beheben versuchen Sie, Ihre Where-Klausel in der ersten Abfrage zu ändern: wo DATENAME (MONAT, SubmissionDate) = 'Juni' .... sehen, ob das immer noch die gleiches Ergebnis wie zuvor. Ist auch SubmissionDate ein DateTime-Feld oder Varchar? – objectNotFound