Проблема с форматом синтаксиса для Datediff - SQL - PullRequest
0 голосов
/ 03 июня 2019

У меня проблема с форматированием синтаксиса по приведенному ниже запросу. Я пытаюсь получить разницу между двумя временными столбцами, а затем вычесть 20, чтобы получить разницу, равную минус 20. Я также хочу взять максимальное значение либо этого, либо 0, чтобы все, что меньше 0, было равно 0.

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

Что я делаю неправильно в вышеприведенном запросе?

Спасибо!

1 Ответ

1 голос
/ 03 июня 2019

sum(max()) очень подозрительно. Возможно, вы намереваетесь:

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