sql >> Databáze >  >> RDS >> Mysql

sql dotaz s příkazem if

Dotaz bych napsal takto:

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;

Zde je další řešení, ale nabídky, které žádné nemají převedená kliknutí se ve výsledku dotazu nezobrazují:

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;


  1. Zkombinujte výsledky dvou nesouvisejících dotazů do jednoho zobrazení

  2. SQL - počítat do více sloupců

  3. Dotaz MYSQL vrací „resource id#12“ namísto číselné hodnoty, kterou by měl vrátit

  4. VYBERTE MySQL InnoDB...LIMIT 1 PRO AKTUALIZACI Vs. AKTUALIZACE...LIMIT 1