【发布时间】:2026-02-08 23:35:01
【问题描述】:
我想选择 my_field 的值的总和。 my_field 的单位是秒。我不想超过 24 小时,所以当超过 24 小时时,我希望它选择 24*60*60 = 86400。
SELECT IF(SUM(my_field) > 86400, 86400, SUM(my_field))
...
此解决方案似乎不起作用。我还能做什么?
【问题讨论】:
我想选择 my_field 的值的总和。 my_field 的单位是秒。我不想超过 24 小时,所以当超过 24 小时时,我希望它选择 24*60*60 = 86400。
SELECT IF(SUM(my_field) > 86400, 86400, SUM(my_field))
...
此解决方案似乎不起作用。我还能做什么?
【问题讨论】:
使用least 会容易得多:
SELECT LEAST(SUM(my_field), 86400)
FROM my_table
【讨论】:
least
least,而不是greatest(已编辑以更新答案)。
另一种选择是使用CASE 类似的表达式
SELECT CASE WHEN SUM(my_field) > 86400 THEN 86400 ELSE SUM(my_field) END
FROM table1
【讨论】: