sql >> Database >  >> RDS >> Mysql

sql-query met if-instructie

Ik zou de vraag op deze manier schrijven:

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 is een andere oplossing, maar aanbiedingen die geen . hebben geconverteerde klikken worden niet weergegeven in het zoekresultaat:

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. Stabiele/herhaalbare willekeurige sortering (MySQL, Rails)

  2. Ruwe query-join wijzigen in laravel Eloquent

  3. 4 manieren om het gegevenstype van een kolom in MySQL te controleren

  4. MySQL MariaDB - Query met behulp van tijdelijke tabel