SQL - 仅选择具有特定多个值的列

时间:2015-02-07 06:13:50

标签: sql

我在这里画了一个空白。请帮帮我。这是我的场景:

************************
| Column A  | Column B |
|    A      |     C    |
|    A      |     D    |
|    A      |     E    |
|    A      |     F    |
|    A      |     G    |
|    A      |     H    |
|    B      |     C    |
|    B      |     D    |
|    B      |     E    |
|    B      |     F    |
|    B      |     G    |
|    B      |     H    |
|    C      |     C    |
|    C      |     D    |
|    C      |     E    |
|    C      |     F    |
|    C      |     H    |
|    C      |     I    |
|    D      |     C    |
|    D      |     D    |
|    D      |     I    |
|    E      |     G    |
************************

我需要计算A列中的所有值,在B列中有'F'和'G'。我在这种情况下的结果应该是2(A和B有两个F和G - C和D不)。

我还需要计算A中只有B列中只有'G'的所有值。我在场景中的结果应为1(A和B都有'G',但它们有其他值也是.E ONLY有'G'。)

我唯一能想到的就是以下内容 - 我相信我在这个问题上没有任何意义:

    SELECT COUNT(C.A)
    FROM (
          SELECT C.A
          FROM T
          WHERE C.B = 'F'
          OR C.B = 'G'
          GROUP BY C.A
          HAVING COUNT(*) > 1
         ) AS CNT

1 个答案:

答案 0 :(得分:0)

你应该检查不同的V