首页 > 解决方案 > 在 SQL 中计算多行值

问题描述

我有下表:

图片

如果根据月份使用或不使用汽车,它会计算数量和年份。A 现在将针对特定年份编写查询,例如

> where year = 2018 (Lets pretend it now February)

我需要的结果是从 2018 年开始没有使用汽车。例如,对于 2018 年,它将是 3,因为从现在 (FEB) 到 Dez.2017,后面有 3 个 0。如果出现 1 -> 停止计数。如果我对 2017 感兴趣

> where year = 1.2017 

当然,我现在在哪个月份并不重要,因为 2017 年已经结束,所以它会算 1(图中的 3 显然是错误的)

标签: sqlgoogle-bigquery

解决方案


从 TABLE 中选择 count(*) 其中 year <= 2018 和 sum(monthA + monthB + monthC + ...) <= 3;


推荐阅读