0
我有一個「狀態」列的表,它接受TINYINT
。例如:選擇某些行的列數作爲列
name | status
-------+--------
john | 0
joe | 1
johann | 0
jan | 1
jane | 0
我該如何計算誰是狀態1和誰是狀態0?
status1 | status0
--------+--------
2 | 3
我有一個「狀態」列的表,它接受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;
我會用一個CASE語句來檢查你的價值。
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;