Решение типа SQL Max (что-то, 0) - PullRequest
       10

Решение типа SQL Max (что-то, 0)

2 голосов
/ 10 сентября 2009

Я бы хотел сделать следующее:

ВЫБЕРИТЕ сумму (макс. (Поле-10000,0)) из ТАБЛИЦЫ

как, я хочу суммировать поле-10000, но если поле-10000 <0, то я хочу, чтобы оно добавило 0. </p>

есть предложения?

Karl

1 Ответ

3 голосов
/ 10 сентября 2009
Синтаксис

ANSI (поддерживается SQL Server, Oracle, MySQL и PostgreSQL):

SELECT  SUM(CASE WHEN FIELD < 10000 THEN 0 ELSE FIELD - 10000 END)
FROM    mytable

Использование GREATEST (не поддерживается SQL Server):

SELECT  SUM(GREATEST(field - 10000, 0))
FROM    mytable
...