获取过去 7 天以来的行数

Posted

技术标签:

【中文标题】获取过去 7 天以来的行数【英文标题】:Get count of rows since the past 7 days 【发布时间】:2019-12-12 19:08:42 【问题描述】:

我正在尝试设置一个 mysql 查询,以获取自 MySQL 数据库自过去 7 天以来添加的行数的指标。 (使用 BigQuery)

为简单起见,我们假设只有 2 个字段:idcreatedDate

这是我尝试过但不起作用的方法:

select count(*) from my_table where createdDate >= TIMESTAMP_SUB(createdDate, INTERVAL 7 DAY);

Bigquery 不允许我创建可以用作NOW() 的变量,当我尝试TIMESTAMP_SUB(NOW(), INTERVAL 7 DAY) 时,它不起作用。

关于如何获取自过去 7 天以来创建的行数的任何其他想法?

【问题讨论】:

【参考方案1】:

在 BigQuery 中,您应该使用 CURRENT_DATE() 或 CURRENT_TIMESTAMP() 取决于上下文

【讨论】:

感谢您的回答!这是我使用CURRENT_DATE()时遇到的错误:No matching signature for function TIMESTAMP_SUB for argument types: DATE, INTERVAL INT64 DATE_TIME_PART. Supported signature: TIMESTAMP_SUB(TIMESTAMP, INTERVAL INT64 DATE_TIME_PART) at [1:79] 所以,你应该使用CURRENT_TIMESTAMP()然后

以上是关于获取过去 7 天以来的行数的主要内容,如果未能解决你的问题,请参考以下文章

SQL 窗口函数 - 自上次 Max 以来的行数

计算日期尚未过去的行数

获取数据表中满足特定条件的行数

SQL:自某个值首次出现以来的行数

获取具有升序值的行数,如 1,2,3,直到发生中断,如表中的 1,2,3,7,8,9,10

如何从今天开始从 DB2 获取过去 7 天(1 周)的记录