排除本周至周三的SQL


If     DATENAME('weekday', TODAY()) = 'Sunday'
then [Date] <= TODAY()-1
elseif DATENAME('weekday', TODAY()) = 'Monday'
then [Date] <= TODAY()-2
elseif DATENAME('weekday', TODAY()) = 'Tuesday'
then [Date] <= TODAY()-3
else [Date] = [Date]
end

我在Tableau中使用这个计算。我需要在SQL查询中使用类似的逻辑,它具有连续数周的每周聚合数据。因此,如何排除本周直到周三(同时显示前几周的所有数据(。

Date_week总计
2021-10-2430
021-10-3140
2021-11-0790
2021-11-14130
2021-11-21200

使用case statements:

select * 
from table 
where [Date] <= case DATENAME('weekday', TODAY()) 
when 'Sunday'  then TODAY()-1
when 'Monday'  then TODAY()-2
when 'Tuesday' then TODAY()-3
else TODAY()

最新更新