【问题标题】:Trying to get the prior days data in Big Query, not the last 24hours. Prior date: GETDATE()-1试图在 Bigquery 中获取前几天的数据,而不是过去 24 小时的数据。之前的日期:GETDATE()-1
【发布时间】:2021-07-22 00:56:10
【问题描述】:

认为这很容易,4 小时后和 20 多个 Google 搜索...https://cloud.google.com/bigquery/docs/reference/standard-sql/date_functions

我要做的就是从 Big Query 的视图中提取前几天的数据。我已经能够在过去的 24 小时内完成工作,但这不是我所需要的。显然这里遗漏了一些明显的东西!非常感谢您的帮助。

我有 2 个字段可以使用:

日期 = '2021-07-16'
UTCTimestamp = 2021-07-016 11:27:03 UTC

RUNS:
SELECT date, count(*)  FROM `marketing.163735831.GAHits`
WHERE UTCTimestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
GROUP by date;

RESULTS:
7/16/21 200

RUNS:
SELECT date, count(*) FROM `marketing.163735831.GAHits`
WHERE UTCTimestamp BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) AND 
CURRENT_TIMESTAMP() 
GROUP by date;

RESULTS:
7/16/21 200

WHAT I NEED: EXP.
WHERE CAST([ActivityDate] AS DATE) >= (GETDATE() - 1)
RESULTS:
7/15/21 500

【问题讨论】:

  • 您的问题引用了“视图”,您的视图是否可能被定义为仅提取当天的数据?
  • 不,要追溯到 2018 年
  • 我不确定我是否在跟踪。与日期和 UTCTimestamp 相关的 ActivityDate 是什么?查看一些示例数据和输出也可能会有所帮助。
  • 该示例是我正在寻找使用 SQL Server SQL 的示例。示例:date = getdate()-1 ::OR:: WHERE CAST([UTCTimestamp] AS DATE) >= (GETDATE() - 1)

标签: date google-bigquery


【解决方案1】:

我认为您正在寻找以下内容。示例数据包含具有匹配小时时间戳的日期。结果查询返回与“昨天”相关的所有时间戳。

with sample_dates as (
    select cast(ts as date) dt
    , ts
    from UNNEST(generate_timestamp_array('2021-07-01 00:00:00', '2021-07-30 23:59:00', INTERVAL 1 HOUR)) ts
)

select sample_dates.dt as data_date
    , sample_dates.ts
    , current_date() as current_date
from sample_dates 
where 1=1
# and sample_dates.dt = date_sub(current_date(), INTERVAL 1 DAY)
and cast(sample_dates.ts as date) >= date_sub(current_date(), INTERVAL 1 DAY)

【讨论】:

  • 我不需要取消嵌套,所有这些都在视图中完成。我需要的只是 7/15 任何时间戳的文件。
  • 这只是为了让我生成一组样本数据以供使用。并为您提供一个完整的工作示例。我认为我定义的 where 子句是您正在寻找的基于您定义的内容。
  • 谢谢! @Daniel 返回今天和昨天的数据,这正是我要解决的问题。我只想要前一天的数据,而不是从运行时开始的前一天的所有数据。
【解决方案2】:

我知道我错过了一些简单的东西:

WHERE CAST(UTCTimestamp as date) = DATETIME_SUB(current_date()-1, INTERVAL 1 DAY)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    相关资源
    最近更新 更多