SQL : Faire un SUM() d'une même colonne avec conditions

Il est parfois utile de calculer la somme d'une colonne sous conditions.
Par exemple, faire la somme des totaux payés (commandes de vente) mais distinguer la somme des paiements Paypal ou CB.

Pour l'exemple, nous créons une table orders comme ci-dessous :

La requête suivante va permettre de faire les totaux selon le type de paiement :

Le résultat de la requête :

total_paypal 51.74
total_cb 176.40

Pour chaque somme (SUM) on teste le type de paiement (CASE). Si le type de paiement correspond, on ajoute le montant (total_amount) à la somme, sinon on ajoute zéro.