Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL-Abfrage mit if-Anweisung

Ich würde die Abfrage so schreiben:

SELECT o.name AS offer, COUNT(c.id) AS clicks, 
  SUM( IF(c.conversionDate IS NOT NULL, o.commission, NULL) ) AS revenue 
FROM offers o JOIN clicks c ON (c.offerID=o.ID)
GROUP BY o.ID;

Hier ist eine andere Lösung, aber Angebote, die keine haben Klicks mit Conversion werden nicht im Abfrageergebnis angezeigt:

SELECT o.name AS offer, COUNT(c.id) AS clicks, 
  SUM(o.commission) AS revenue 
FROM offers o JOIN clicks c 
  ON (c.offerID=o.ID AND c.conversionDate IS NOT NULL)
GROUP BY o.ID;