MySQL 本身沒有提供 COUNTIF 函數,但你可以使用其他函數和語句來實現類似的功能
統計滿足特定條件的行數:
例如,你可以統計某個表中年齡大于 18 歲的用戶數量。這時,你可以使用 COUNT()
函數和 CASE
語句來實現:
SELECT COUNT(CASE WHEN age > 18 THEN 1 ELSE NULL END) AS adult_count FROM users;
統計某個字段中特定值的出現次數:
例如,你可以統計某個表中某個字段的特定值的出現次數。這時,你可以使用 SUM()
函數和 CASE
語句來實現:
SELECT SUM(CASE WHEN status = 'active' THEN 1 ELSE 0 END) AS active_count FROM users;
按照某個字段進行分組并統計滿足特定條件的行數:
例如,你可以按照部門對員工進行分組,并統計每個部門中年齡大于 18 歲的員工數量。這時,你可以使用 GROUP BY
子句和 COUNT()
函數結合 CASE
語句來實現:
SELECT department, COUNT(CASE WHEN age > 18 THEN 1 ELSE NULL END) AS adult_count
FROM employees
GROUP BY department;
按照時間范圍進行統計:
例如,你可以統計某個月份內每天的新注冊用戶數量。這時,你可以使用 DATE()
函數和 GROUP BY
子句來實現:
SELECT DATE(registration_date) AS date, COUNT(*) AS new_users_count
FROM users
WHERE registration_date >= '2021-01-01' AND registration_date <= '2021-01-31'
GROUP BY DATE(registration_date);
這些應用場景只是舉例,實際業務中可能會有更多復雜的需求。通過組合使用 MySQL 的函數和語句,你可以實現各種復雜的統計和分析需求。