以下のように2つの同じクエリ(「MonthName Year」とカウント)を返しますが、WHERE条件の日付範囲のみが異なります。クエリー1は6月の月カウントのみを取得し、クエリー2は4月から7月にカウントを取得します。クエリ2の6月のカウントはクエリー1の6月のカウントと同じではありません。SQL Server - WHERE日付範囲とGROUP BY MonthName
クエリ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
クエリ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
おかげで、 ジェイ
第1のクエリの6月データは、第2のクエリとどのように異なっていますか? – Santi
クエリ1が返されます:2016年6月 - 290&クエリ2は、2016年6月のクエリ307を返します。助言してください。 – Jay
データを再生して何が起こっているのかを確認する必要がありますが、問題を解決するには最初のクエリのwhere句を変更してください:DATENAME(MONTH、SubmissionDate)= 'June' ....ここでもあなたに以前と同じ結果です。また、SubmissionDate DateTimeフィールドまたはvarcharですか? – objectNotFound