![](/img/trans.png)
[英]SQL query returns values when selecting multiple columns, but no data when selecting only one column
[英]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.