1

我有下表...

        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;

请帮忙....

4

1 回答 1

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演示

于 2013-08-17T06:32:09.540 回答