mysql - 在mysql中选择多个计数

标签 mysql sql aggregate-functions

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

SELECT COUNT(*) as totalcount, 
       COUNT(*) WHERE foo IS NULL as conditional_count 
  FROM baz

即在一次选择中获得两项计数,一项是所有内容,一项是匹配 WHERE 子句的事物?

最佳答案

如果您的数据库支持 CASE WHEN 语句,这将起作用,否则您仍然会了解基本概念。

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

关于mysql - 在mysql中选择多个计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6172880/

相关文章:

mysql - 可能的 SQL 注入(inject)?发生了什么?

sql - 如何在SQL中实现Excel COMBIN函数

mysql - Chart.js中如何实现mysql数据库连接

mysql - 判断MySQL中是INSERT还是UPDATE;先查询还是依赖约束错误?

sql - 显示列值不在同一组另一列中的行

mysql - 如何转换包含货币符号的 varchar 价格列,然后对其求和?

sql - ORA-00923 : FROM keyword not found where expected & ERROR: ORA-01756: quoted string not properly terminated

sql - Postgresql:如何在 PostgreSQL 中使用 "crosstab"?

php - 如何优化此查询以生成许多逗号分隔的数据?

php - 如果数据库包含特定 ID,如何停止将表单发布到 mysql?