在mysql中选择多个计数

Amb*_*pel 6 mysql sql aggregate-functions

在MySQL中可以做这样的事情:

SELECT COUNT(*) as totalcount, 
       COUNT(*) WHERE foo IS NULL as conditional_count 
  FROM baz
Run Code Online (Sandbox Code Playgroud)

即在单个选择中获取两个计数,一个是什么,以及一个匹配WHERE子句的东西?

Joh*_*ais 11

如果您的数据库支持CASE WHEN语句,这将有效,否则您仍将获得基本想法.

SELECT COUNT(*), 
       SUM(CASE WHEN FOO IS NULL THEN 1 ELSE 0 END) AS COUNT_CONDITIONAL
  FROM baz
Run Code Online (Sandbox Code Playgroud)