Interogare de agregare SQL pentru SUM, dar permite doar sume pozitive (altfel 0)

Vreau să întreb un tabel de comenzi și să arăt codul clientului și totalul tuturor comenzilor sale, cu toate acestea comenzile pot avea totaluri pozitive sau negative.

select customer_id, SUM(order_total) from orders group by customer_id;

Acum întrebare - cum pot realiza următoarele într-o interogare sql:

Dacă suma totală este pozitivă, vreau să o afișez așa cum este; dacă suma totală este negativă, vreau doar să afișez 0 în schimb suma reală.

Ceea ce caut este o funcție care poate gestiona acest lucru, similar cu funcția IFNULL ( IFNULL (SUM (order_total), 0) ), dar în loc să verifice dacă este nul, ar trebui să verifice dacă există un rezultat negativ.

Pseudo cod:

IFNEGATIVE(SUM(order_total),0)

Există un mod simplu în sql standard (sau în special în Mysql 5.5, ar fi, de asemenea, ok).

7
задан Mathias Conradt 5 July 2011 в 11:18
поделиться