Question

Je voudrais faire ce qui suit:

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

comme dans, je veux que le champ 10 000 soit résumé, mais si le champ 10 000 < 0 alors je veux qu'il ajoute 0.

des suggestions?

Karl

Était-ce utile?

La solution

Syntaxe

ANSI (prise en charge par SQL Server, Oracle, MySQL et PostgreSQL):

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

Utilisation de GREATEST (non pris en charge par <=>):

SELECT  SUM(GREATEST(field - 10000, 0))
FROM    mytable
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top