【问题标题】:Trouble with Syntax format for Datediff - SQLDatediff 的语法格式问题 - SQL
【发布时间】:2019-10-19 09:58:23
【问题描述】:

下面的查询存在语法格式问题。 我试图得到两个时间列之间的差异,然后减去 20 来得到负 20 的差异。我还想取那个或 0 的最大值,所以任何小于 0 的都是 0。

select id, sum(max(0, (date_diff('minute', time_a, time_b))  - 20)) as mins
    FROM tbl

上面的查询中出错的地方是什么?

谢谢!

【问题讨论】:

  • 尝试删除minute周围的单引号。
  • 我试过了,然后它不读分钟我想我需要单引号

标签: sql data-science data-analysis presto


【解决方案1】:

sum(max()) 高度可疑。也许你打算:

select id, sum(greatest(0, date_diff('minute', time_a, time_b) - 20)) as mins
from tbl

【讨论】:

  • 谢谢!所以这给了我2列或0之间实际差异的最大值? @戈登林诺夫
  • 当差值大于 20 分钟时,这将两次之间的差值减去 20 分钟相加。
猜你喜欢
  • 2017-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多