计算区间之间的数据,区间取决于记录的年龄
我有一个名为的表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 天间隔内,同样适用于其他其他间隔。