2

私は次のことをしたいと思います:

SELECT sum(max(field-10,000,0)) from TABLE

のように、field-10,000 を合計したいのですが、field-10,000 < 0 の場合は 0 を追加します。

助言がありますか?

カール

4

1 に答える 1

3

ANSISQL Server構文 ( 、OracleMySQLおよびでサポート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
于 2009-09-10T11:06:05.020 に答える