如图:程序员在进行如下的统计时,现在提供两种实现方案:

方案一:运用 SEKECT CASE WHEN
EXPLAINSELECT count(*) AS '总数', count( CASE oup.status WHEN '1' THEN oup.id END ) AS '未绑定', count( CASE oup.status WHEN '2' THEN oup.id END ) AS '已绑定', count( CASE oup.status WHEN '3' THEN oup.id END )AS '冻结中'FROM lab_org_uc_passport oup
显示结果:(按行显示)

方案二:
SELECT count(*) AS '总数' FROM lab_org_uc_passport oup UNION ALLSELECT count(*) AS '未绑定' FROM lab_org_uc_passport oup WHERE oup.status = '1'UNION ALLSELECT count(*) AS '未绑定' FROM lab_org_uc_passport oup WHERE oup.status = '2'UNION ALLSELECT count(*) AS '未绑定' FROM lab_org_uc_passport oup WHERE oup.status = '3'
显示结果(按列显示)
3431021