【问题标题】:Is there a easy way to get the data with timestamp == yesterday?有没有一种简单的方法来获取时间戳 == 昨天的数据?
【发布时间】:2018-04-29 07:18:04
【问题描述】:

有没有简单的方法来获取时间戳==昨天的数据?

我只想要昨天的数据。

SELECT
 COUNT(t0.user_id) AS t0_qt_AC5uO9oi
FROM
 `{something here}` AS t0
WHERE
 (t0.event_type = 'XXXXX')
ORDER BY
 t0_qt_AC5uO9oi ASC;

不知道什么是最好的方法。

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    以下是 BigQuery 标准 SQL

    #standardSQL
    SELECT 
      CURRENT_DATE() today, 
      DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) yesterday   
    

    假设您要询问如何获取昨天的日期!
    那么当然你需要在你的查询中分别使用它

    例如

    WHERE t0.event_date = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    

    【讨论】:

    • 使用CAST(string_timestamp_column AS TIMESTAMP) 获取TIMESTAMP
    • 谢谢。我只是将字段修改为“时间戳”而不是“字符串”。但是现在,我只是上面的原始答案,我看到了这个错误:错误:没有匹配的操作符 = 参数类型的签名:TIMESTAMP,DATE。支持的签名:ANY = ANY at [8:9] SELECT COUNT(DISTINCT t0.user_id) AS unique_device FROM TableName AS t0 WHERE (t0.event_type = 'XXXX' AND t0.game_id = 'XXXX' AND t0.timestamp = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY))
    • AND DATE(t0.timestamp) = DATE_ADD(...).
    猜你喜欢
    • 2010-10-30
    • 2020-01-21
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多