sql >> データベース >  >> RDS >> Mysql

SumとCaseを使用するMySQL

    エラーは、関数名と括弧の間のスペースが原因で発生します

    SUM (CASE WHEN ...
       ^^
    

    続きを読む関数名の解析と解決

    試してみてください

    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
    

    これがSQLFiddle です。 デモ




    1. 不明からテキストへの変換関数が見つかりませんでした

    2. SumとCaseを使用するMySQL

    3. 提出フォームは同じページにとどまりません

    4. 例のAlwaysOn可用性グループのSQLServerでの透過的データ暗号化(TDE)