-4
ROLE_CAT    SYN_CODE        
ab          2
aaa         4
bcd
aaav
abvx        3

是具有两个字段 ROLE_CAT 和 SYN_CODE
1 的表。我想要一个 sql 查询,它给我的结果为

ROLE_CAT    COUNT(*)
ab          1
aaa         1
bcd         0
aaav        0
abvx        1

这是在 SYN_CODE IS NOT NULL 的情况下

ROLE_CAT    COUNT(*)
ab          0
aaa         0
bcd         1
aaav        1
abvx        0

这是在 SYN_CODE IS NULL 的情况下

这两种情况都应该在单个查询中。

提前致谢 :)

4

1 回答 1

0

你在找这个吗?

SELECT role_cat,
       COUNT(syn_code) count1,
       COUNT(*) - COUNT(syn_code) count2
  FROM table1
 GROUP BY role_cat

输出:

| ROLE_CAT | 计数1 | 计数2 |
------------------------------
| 啊!1 | 0 |
| aaav | 0 | 1 |
| ab | 1 | 0 |
| abvx | 1 | 0 |
| 光盘 | 0 | 1 |

这是SQLFiddle演示

于 2013-06-29T20:17:56.043 回答