簡體   English   中英

SQL —僅選擇具有特定多個值的列

[英]SQL — Selecting only columns that have specific multiple values

我在這里畫一個主要的空白。 請幫幫我。 這是我的場景:

************************
| 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不)。

我還需要獲取B列中僅具有'G'的A中所有值的計數。我在該方案中的結果應為1(A和B都具有'G',但它們還有其他值好吧,E只有一個“ 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

您應該檢查不同的B

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM