間隔の間のデータをカウントします。間隔は、レコードがどれだけ古いかによって異なります
と呼ばれるテーブルがcomplaint
あり、その中に多くの列があり、間隔に応じてレコードの数ComplaintDate
を表示したいと考えています。
次の間隔は、分類されたレコードに使用されます。
- 10 日古い苦情の数。
- 10 ~ 20 日古い苦情の数。
- 20 ~ 30 日古い苦情の数。
- 30 日以上前の苦情の数。
私はこのようなことを試しました
select SUM(CASE WHEN ComplaintDate BETWEEN DATEADD (dd,-10,getdate())AND GETDATE() THEN 1 ELSE 0 END) As '0-10',
SUM(CASE WHEN ComplaintDate BETWEEN DATEADD (dd,-20,getdate()) AND DATEADD (dd,-10,getdate()) THEN 1 ELSE 0 END) AS '10-20',
SUM(CASE WHEN ComplaintDate BETWEEN DATEADD (dd,-30,getdate()) AND DATEADD (dd,-20,getdate()) THEN 1 ELSE 0 END) AS '20-30'
FROM Complaint
また、0 ~ 10 日間隔に含まれる日は、10 ~ 20 日または 20 ~ 30 日間隔でカウントされるべきではなく、他の間隔にも同じことが適用される必要があります。