quindi voglio trasformare valore negativo di in un 0. Ho trovato 2 soluzioni che fanno esattamente la stessa:SQL 0 se il valore negativo
SUM(IF(ordered_item.amount < 0, 0, ordered_item.amount)) as purchases
E
SUM(CASE WHEN ordered_item.amount < 0 THEN 0 ELSE ordered_item.amount END) as purchases
mi danno entrambi la stessa risultato, ma quale mi darebbe la migliore prestazione ? E c'è forse una soluzione più semplice per trasformare i negativi in 0
.
Perché non solo "MAX (ordered_item.amount, 0)'? – MikeTheLiar
È possibile utilizzare 'EXPLAIN {{QUERY}}' per verificare quale query è più complessa – Germanaz0
Nella maggior parte degli RDBMS è probabile che il pianificatore di query generi lo stesso piano di esecuzione per qualcosa di simile. Usa 'EXPLAIN' su ogni query come suggerisce @ Germanaz0. –