我有以下表格......
ID awaiting approve decline
100 1 0 0
100 0 0 1
102 1 0 0
103 0 1 0
104 0 1 0
104 0 1 0
106 1 0 0
107 0 1 0
107 1 0 0
107 1 0 0
从上表中我想得到的是,如果ID的数量多于一次列出,其中一个ID或两个或所有ID等待= 1?计算这些ID符合上述条件。
和我需要的另一个查询是,其中,如果ID仅列出且只有一次且等待= 1;
请帮忙......
答案 0 :(得分:7)
第一
SELECT COUNT(*) total
FROM
(
SELECT id
FROM Table1
GROUP BY id
HAVING COUNT(*) > 1
AND MAX(awaiting = 1) > 0
) q
第二
SELECT COUNT(*) total
FROM
(
SELECT id
FROM Table1
GROUP BY id
HAVING COUNT(*) = 1
AND MAX(awaiting = 1) > 0
) q
这是 SQLFiddle 演示