【问题标题】:Compare 2 weeks data from this year to 2 weeks data last year比较今年 2 周的数据和去年 2 周的数据
【发布时间】:2021-08-30 07:41:12
【问题描述】:

想象一个简单的参数化查询:

SELECT * FROM table
WHERE date BETWEEN @DS_START_DATE and @DS_END_DATE

这对于查看今天、昨天、一周数据和一年数据的数据很有用。现在我需要将本周的 2 周数据与去年进行比较。例如,今天是 8 月 30 日。我必须将 2021 年 8 月 16 日至 29 日的数据与 2020 年 8 月 16 日至 29 日的数据进行比较。有人可以帮忙吗?

【问题讨论】:

  • 试试Union all ? Union all
  • 样本数据和期望的结果会有所帮助。 “比较”不是 SQL 操作。

标签: sql google-bigquery


【解决方案1】:

您可以使用or返回结果:

SELECT t.*
FROM table t
WHERE t.date BETWEEN @DS_START_DATE and @DS_END_DATE OR
      t.date BETWEEN DATE_ADD(@DS_START_DATE, INTERVAL -1 YEAR) AND DATE_ADD(@DS_END_DATE, INTERVAL -1 YEAR);

一个警告是,如果比较期间包括闰日,则它们可能会关闭。您的问题没有具体说明如何处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多