首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我在试着计算有多少次传输超过30分钟,而这个错误不断出现

我在试着计算有多少次传输超过30分钟,而这个错误不断出现
EN

Stack Overflow用户
提问于 2020-02-04 09:05:13
回答 3查看 71关注 0票数 0

这就是我写的↓公式

代码语言:javascript
运行
复制
count(if(avg(timestamp_diff(broker_delivery_date,request_datetime,minute)),0) >= 30,id,NULL)

这就是不断显示↓的错误

不匹配参数类型的函数IF签名: FLOAT64,INT64。支持签名:如果(BOOL,任何,任何)在10:10

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-02-04 12:11:13

这个构造有几个问题。

首先,什么是,0)。这没有意义。也许你打算:

代码语言:javascript
运行
复制
count(if(avg(timestamp_diff(broker_delivery_date, request_datetime, minute
                           )
            ) >= 30,
         id,   -- then
         NULL  -- else
     )

更重要的是,您正在嵌套聚合函数,这是不允许的。一种可能是,您根本不打算使用avg(),而只想查看单个行中的值。这也可以通过使用countif()进行简化

代码语言:javascript
运行
复制
countif(timestamp_diff(broker_delivery_date, request_datetime, minute
                      ) >= 30
       )

我猜这是你真正想要的。

票数 0
EN

Stack Overflow用户

发布于 2020-02-04 09:46:08

假设你的问题是“为什么会这样?”:

代码语言:javascript
运行
复制
IF(BOOL, ANY, ANY)

需要三个参数。你只给它两个。这就是它的处理方式:

代码语言:javascript
运行
复制
count(if(
         avg(timestamp_diff(broker_delivery_date,request_datetime,minute)),  <-- This is not a BOOL
         0  <-- This is the second parameter to if
         ) >= 30,  <-- This is a BOOL as the first parameter to count
      id,  <-- This is a second parameter to count
      NULL) <-- This is the third parameter to count

试一试(免责声明:未测试):

代码语言:javascript
运行
复制
count(if(avg(timestamp_diff(broker_delivery_date,request_datetime,minute)) >= 30,
         1,
         NULL)
      )
票数 0
EN

Stack Overflow用户

发布于 2020-02-04 10:30:24

IF语句需要一个boolean expression.You将括号关闭在错误的位置,如下所示,它导致IF参数是FLOAT (AVG结果),而不是您预期的AVG(...) >= 30表达式。

代码语言:javascript
运行
复制
count(
    if(
       avg(
           timestamp_diff(broker_delivery_date,request_datetime,minute)
          )
      ,0
      ) >= 30,id,NULL)

你可能想做的是:

代码语言:javascript
运行
复制
count(
    if(
      avg(timestamp_diff(broker_delivery_date,request_datetime,minute)) >= 30
      ,id,NULL
      )
 )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60053875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档