我希望能够判断实际值是否高于前一周(我们需要-7个日历日)。所以我可以展示信息及其演变:
对于那种情况,我说的是我的工作项目的状态(帖子)。这是我的表(参见status和status_last_update):
为了实现这个新功能,我正在考虑2个解决方案。我想知道哪一个更好,以及它的原因。或者,如果有更好的解决方案。
第一个解决方案:我在实际表格中添加了2个列" previous_status" " previous_status_last_update"
第二个解决方案:我创建了一个新表,用于存储以前的状态和上次更新的日期。
第三种解决方案:我创建一个存储实际值和先前值的表:
nb_rejected_last_update
nb_new_previous
答案 0 :(得分:0)
为什么不在你的SQL语句中插入一点逻辑,将上周和本周的数据拉成一行,如下所示:
select
sub.thisWeekStatus,
sub.lastWeekStatus,
sub.someOtherColumn
from
(
select
case
when dateField=cur_date() then status
end as thisWeekStatus,
case
when dateField<>cur_date() then status
end as lastWeekStatus,
someOtherColumn
from
yourTable
where
dateField>'dateLastWeek'
) sub
group by
sub.someOtherColumn
显然你需要稍微修补一下,我没有费心只使用日期函数来提取上周(或其他)的数据,但这可以调整以符合你的确切规格。