如何使用SQL查询语句对相同id返回指定的目标数据
解法1:分组统计(返回2行结果,对应不同status的计数)
SELECT status, COUNT(*) AS total FROM 表名 -- 替换为你实际的表名 GROUP BY status;
返回结果示例:
| status | total |
|---|---|
| 1 | 6 |
| 0 | 4 |
解法2:行转列输出(返回1行结果,同时展示两个status的计数)
适用场景:需要把两个统计值放在同一行返回时使用
SELECT SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END) AS status_1_total, SUM(CASE WHEN status = 0 THEN 1 ELSE 0 END) AS status_0_total FROM 表名; -- 替换为你实际的表名
如果你使用的是MySQL,可以简化写法:
SELECT SUM(status = 1) AS status_1_total, SUM(status = 0) AS status_0_total FROM 表名;
返回结果示例:
| status_1_total | status_0_total |
|---|---|
| 6 | 4 |
内容的提问来源于stack exchange,提问作者Pawan Thapa
相关产品推荐
相关产品推荐

