gpt4 book ai didi

sql - COUNT(*)FILTER(WHERE ...在BigQuery中

转载 作者:行者123 更新时间:2023-12-04 22:55:51 27 4
gpt4 key购买 nike

如何在BigQuery中过滤计数?

在Postgres中,我正在执行以下操作:

COUNT(*) FILTER (WHERE event_date>('{{ report_date }}'::date-INTERVAL '2 WEEK'))

尽管这在BigQuery中不起作用。最好的选择是什么?我使用标准SQL。

最佳答案

对于BigQuery标准SQL,您可以使用COUNTIFDATE_SUB函数,如下所示



COUNTIF(event_date > DATE_SUB(CURRENT_DATE(), INTERVAL 2 WEEK))  

您可以使用下面的虚拟示例来测试/玩游戏

#standardSQL
WITH `project.dataset.yourTable` AS (
SELECT 1 AS event_id, DATE '2017-11-19' AS event_date UNION ALL
SELECT 2, DATE '2017-11-18' UNION ALL
SELECT 3, DATE '2017-10-15'
)
SELECT
COUNT(*) AS all_events,
COUNTIF(event_date > DATE_SUB(CURRENT_DATE(), INTERVAL 2 WEEK)) AS qualified_events
FROM `project.dataset.yourTable`

可以预期的输出是

all_events  qualified_events     
3 2

关于sql - COUNT(*)FILTER(WHERE ...在BigQuery中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47378435/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com