sql >> Database >  >> RDS >> Mysql

MySQL met Sum en Case

De fout wordt veroorzaakt door de spatie tussen de functienaam en haakjes

SUM (CASE WHEN ...
   ^^

Lees meer Functienaam parseren en oplossen

Probeer

SELECT BusinessUnit,
       SUM(CASE WHEN OrderDate = CURDATE() THEN 1 ELSE 0 END) TodaysOrders,
       SUM(CASE WHEN DATE_FORMAT(OrderDate, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m') THEN 1 ELSE 0 END) ThisMonthsOrders,
       SUM(CASE WHEN YEAR(OrderDate) = YEAR(CURDATE()) THEN 1 ELSE 0 END) ThisYearsOrders
  FROM OrderTable
 WHERE Canceled <> 'Y'
 GROUP BY BusinessUnit

Hier is SQLFiddle demo




  1. De eerste dag van de week in MySql krijgen met Week No

  2. Wanneer moet ik de DatabaseHelper sluiten?

  3. MySQL-triggers om het veld bij te werken op basis van de som van de kolom uit een andere tabel

  4. Ingewikkelde SQL-query - items vinden die overeenkomen met meerdere verschillende externe sleutels