我有一个MySQL表,我正在提取一些包含日期[Appt_Date]的信息。如果数据显示在查询中我想创建日期存储桶,那么我可以总计0-7天,8-14天,15-21天,22-28天或29天以上的数量。
对于5个桶,我的日期桶表达式如下:
case
when [Appt_Date] between (current_date) and _add_days (current_date,-7) then 1 else 0
end
case
when [Appt_Date] between _add_days(current_date,-8) and _add_days (current_date,-14) then 1 else 0
end
case
when [Appt_Date] between _add_days (current_date,-15) and _add_days (current_date,-21) then 1 else 0
end
case
when [Appt_Date] between _add_days (current_date,-22) and _add_days (current_date,-28) then 1 else 0
end
case
when ([Appt_Date] > _add_days ({current_date},-28)) then 1 else 0
end
问题是所有日期在前4个桶中显示为0,在29+桶中显示为1。
我在查询中创建了“今天和上周”字段。
Today字段表达式为:current_date
上周是:_add_days (current_date,-7)
以下是数据样本 Query data sample
您可以看到今天的日期以及所有Appt_Dates在29+桶中的位置。
为什么水桶不能正常工作?
答案 0 :(得分:0)
你需要扭转你的间隔
case
when [Appt_Date] between _add_days (current_date,-7) and (current_date) then 1 else 0
end
我认为是
case
when ([Appt_Date] < _add_days ({current_date},-28)) then 1 else 0
end
如果我理解你的逻辑