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

Kueri agregasi bersyarat dengan grup menurut

Anda cukup dekat, Anda hanya perlu meletakkan kondisi di dalam fungsi agregat untuk agregasi bersyarat yang ingin Anda lakukan:

SELECT
companyID, 
COUNT(userID) AS `totalCompanyUsers`,
SUM(CASE 
  WHEN 
    TIMESTAMPDIFF(MONTH, lastLogin, NOW()) < 1 THEN 1 
  ELSE 0
END
) AS `numUsersWhoLoggedInWithinLastMonth`
FROM Users
GROUP BY companyID;

Hasil masih dikelompokkan berdasarkan companyID , tetapi fungsi agregasi kedua melakukan penjumlahan 1 dan 0 bergantung pada apakah pengguna masuk dalam sebulan terakhir atau tidak.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengisi kolom input pilih dengan nilai dari mysql

  2. AntarmukaError (0, '')

  3. Membuat kueri dalam garis bujur dan lintang di MySQL

  4. Sisipkan beberapa baris dengan satu kueri MySQL

  5. Setel bidang Peningkatan Otomatis mulai dari 1000 di laravel migrasi 5.1