对SQL中的多行值进行计数

对SQL中的多行值进行计数,sql,google-bigquery,Sql,Google Bigquery,我有下表: 如果一辆车是以月份为基础使用还是不使用,它将计算数量和年份。A现在将为特定年份编写查询,如 > where year = 2018 (Lets pretend it now February) 我需要的结果是,从2018年起,一辆车就不用了。例如,2018年将为3,因为从现在起(2月)到2017年12月,在0之后有3个。如果出现1->停止计数。如果我对2017感兴趣 > where year = 1.2017 当然,我现在在哪个月并不重要,因为2017年已经过去了

我有下表:

如果一辆车是以月份为基础使用还是不使用,它将计算数量和年份。A现在将为特定年份编写查询,如

> where year = 2018 (Lets pretend it now February)
我需要的结果是,从2018年起,一辆车就不用了。例如,2018年将为3,因为从现在起(2月)到2017年12月,在0之后有3个。如果出现1->停止计数。如果我对2017感兴趣

> where year = 1.2017 
当然,我现在在哪个月并不重要,因为2017年已经过去了,所以它将计数1(图中的3显然是错误的)

从表中选择计数(*) 其中年份从表中选择计数(*)
其中年份一种方法是一个巨大的
案例
表达式

select t.*,
       (case when greatest(jan, feb, . . . , dec) = 0 then 12
             when greatest(jan, feb, . . . , nov) = 0 then 11
             . . .
             when jan = 0 then 1
             else 0
        end) as result_i_need
from t;

一种方法是一个巨大的
case
表达式

select t.*,
       (case when greatest(jan, feb, . . . , dec) = 0 then 12
             when greatest(jan, feb, . . . , nov) = 0 then 11
             . . .
             when jan = 0 then 1
             else 0
        end) as result_i_need
from t;

你能提供一些样本数据和预期结果吗?使用文本格式而不是图像格式。您能提供一些示例数据并期望结果吗?使用格式化文本而不是图像。