문제
다음을 수행하고 싶습니다.
테이블에서 합계 (Max (Field-10,000,0))를 선택하십시오.
마찬가지로, 필드 -10,000을 합산하고 싶지만 Field-10,000 <0이면 0을 추가하고 싶습니다.
제안이 있습니까?
칼
해결책
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
제휴하지 않습니다 StackOverflow