以前,我已将查询设置为可以获取最近4周的时间,但没有计算整周的时间,这使Excel数据透视表取决于查询的数据。
我将其更改为此,现在仅将数据缩减到最近2周。
我怀疑AND陈述式有误。有人可以确认吗?
WHERE
BalanceDay >= DATE(CONVERT_TZ(CURRENT_TIMESTAMP, 'UTC', Mapping.DEFAULT_TIMEZONE) - INTERVAL DAYOFWEEK(CURRENT_TIMESTAMP) - 1 DAY - INTERVAL 4 WEEK)
AND BalanceDay <= DATE(CONVERT_TZ(CURRENT_TIMESTAMP, 'UTC', Mapping.DEFAULT_TIMEZONE) - INTERVAL DAYOFWEEK(CURRENT_TIMESTAMP) - 1 DAY - INTERVAL 3 WEEK) + INTERVAL 6 DAY
这是我以前的工作,它可以运行4周,但不能完全运行 周(即,如果它在星期五运行,我将获得除28天之外的其他数据) ):
WHERE
BalanceDay >= CONVERT_TZ(CURRENT_DATE, 'UTC', Mapping.DEFAULT_TIMEZONE) - INTERVAL 4 WEEK
答案 0 :(得分:0)
嗯,我不了解您查询的真实情况。但是运行之后,该查询得到了最近的四个星期:
WHERE
BalanceDay >= DATE(CONVERT_TZ(CURRENT_TIMESTAMP, 'UTC', Mapping.DEFAULT_TIMEZONE) - INTERVAL DAYOFWEEK(CURRENT_TIMESTAMP) - 1 DAY - INTERVAL 4 WEEK)
AND DATE(CONVERT_TZ(CURRENT_TIMESTAMP, '+00:00', '+03:00') - INTERVAL DAYOFWEEK(CURRENT_TIMESTAMP) - 1 DAY - INTERVAL 1 WEEK) + INTERVAL 6 DAY
不过请考虑使用DATE_ADD和DATE_SUB。
祝你好运:)