Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL menggunakan Sum dan Case

Kesalahan ini disebabkan oleh spasi antara nama fungsi dan tanda kurung

SUM (CASE WHEN ...
   ^^

Baca selengkapnya Penguraian dan Resolusi Nama Fungsi

Coba

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

Ini SQLFiddle demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Anda mendapatkan pencarian boolean Fulltext Anda untuk mengambil istilah C++?

  2. Apa yang dimaksud dengan Tabel tidak mendukung pengoptimalan, melakukan pembuatan ulang + analisis?

  3. Bagaimana cara membuat website dengan Java?

  4. Tetapkan nilai ke NULL di MySQL

  5. Bagaimana cara memasukkan skema database MySQL di GitHub?