Mysql 选择某些行的计数作为列
我有一个带有“status”列的表,它接受一个Mysql 选择某些行的计数作为列,mysql,sql,database,Mysql,Sql,Database,我有一个带有“status”列的表,它接受一个TINYINT。例如: name | status -------+-------- john | 0 joe | 1 johann | 0 jan | 1 jane | 0 如何获得状态1和状态0的计数 status1 | status0 --------+-------- 2 | 3 只需使用条件聚合: select sum(status = 1) as status1, sum(status = 0) a
TINYINT
。例如:
name | status
-------+--------
john | 0
joe | 1
johann | 0
jan | 1
jane | 0
如何获得状态1和状态0的计数
status1 | status0
--------+--------
2 | 3
只需使用条件聚合:
select sum(status = 1) as status1, sum(status = 0) as status0
from t;
在您的情况下,您也可以这样写:
select sum(status) as status1, sum(1 - status) as status0
from t;
只需使用条件聚合:
select sum(status = 1) as status1, sum(status = 0) as status0
from t;
在您的情况下,您也可以这样写:
select sum(status) as status1, sum(1 - status) as status0
from t;
我会用一个案例陈述来检查你的价值
SELECT SUM(CASE WHEN [status] = 1 THEN 1 ELSE 0 END) AS Status1,
SUM(CASE WHEN [status] = 0 THEN 1 ELSE 0 END) AS Status0
FROM tbl;
我会用一个案例陈述来检查你的价值
SELECT SUM(CASE WHEN [status] = 1 THEN 1 ELSE 0 END) AS Status1,
SUM(CASE WHEN [status] = 0 THEN 1 ELSE 0 END) AS Status0
FROM tbl;