sql - Bigquery - 查找何时达到总和
问题描述
我试图在 BigQuery 上使用 NOAA 每日天气数据的全球表面摘要来查找 2012 年总降水量超过 2 英寸的日期以及以下 stn 和 wban 值 722616 和 03032。
这是我到目前为止构建的查询:
#standardSQL
select a.prcp, concat(year, mo, da) as date, a.stn, a.wban
from `bigquery-public-data.noaa_gsod.gsod*` a
where _TABLE_SUFFIX = '2012' and a.stn = '722616' and a.wban = '03032'
order by date;
但是,我不确定如何实际输出 prcp > 2 的日期值。
任何帮助表示赞赏
谢谢!
解决方案
您可以使用累积总和:
select *
from (select prcp, concat(year, mo, da) as date, stn, wban,
sum(prcp) over (partition by year order by mo, da) as running_prcp
from `bigquery-public-data.noaa_gsod.gsod*` g
where _TABLE_SUFFIX = '2012' and stn = '722616' and wban = '03032'
) x
where running_prcp >= 2.0 and running_prcp - prcp < 2.0
order by date;
推荐阅读
- mysql - Mysql将计数查询从多列组合成单列
- caching - Compute Capability 7.5 中的缓存行为
- wordpress - Woocommerce API 令牌访问级别
- java - Android - MQTT 和 Mosquitto
- ms-access - 我可以在 Access 中做一个 IF 语句而没有任何错误的表达吗
- r - 正则表达式中 [^] 和 []* 的解释?
- docker - 在 docker swarm 中设置 activemq 集群
- docker - 找不到带有 docker 的 Ubuntu WSL
- reactjs - 是否可以直接从 React PWA 中的地址栏访问 Web 服务?
- c# - 根据某些条件删除对象