2015-11-21 59 views
1

我剛剛開始學習SQL,我想要的是編寫一個查詢,以獲得第2列中沒有「D」的第2列值。在列中查找唯一值

下面

比如,對於此案 「AC」

Column1 Column 2 
A  AB 
B  AB 
C  AB 
D  AB 
A  AB 
B  AB 
C  AB 
D  AB 
A  AB 
B  AB 
A  AC 
B  AC 
C  AC 
A  AC 
B  AC 
C  AC 
A  AC 
B  AC 
C  AC 
+0

@a_horse_with_no_name好編輯 – Bhushan

回答

1

試試這個:

select column1, coulmn2 from table_name where column1 != 'D' 

column1 != 'D'從包含D在結果中刪除記錄0。

同樣,如果你想忽略來自column1的更多值,你可以使用not in

select column1, coulmn2 from table_name where column1 not in ('D','A') 

UPDATE1

要獲得的記錄數不具有 'd' 在column1你可以使用:

select count(*) from table_name where column1 != 'D' 
+0

由於它顯示我不具備「d」我想了解如何爲只有那些記錄許多條目都在列2中沒有D的「列2」中。 – Ali

+0

感謝Bhushan的幫助,但Marvin的查詢以我想要的數據的方式工作。 – Ali

0

this SQL fiddle基於MySQL的5.6:

SELECT DISTINCT column2 
FROM table_name 
WHERE column2 NOT IN 
(
    SELECT column2 
    FROM table_name 
    WHERE column1 = 'D' 
); 

基本上有tw o查詢:內部查詢獲取所有column2值,其值爲D;外部查詢會從您的原始表中提取所有column2值,但不包括內部查詢找到的值。

數據:

column1  column2 
A   AB 
B   AB 
C   AB 
D   AB 
A   AC 
B   AC 
C   AC 
A   AD 
D   AD 
D   AD 
A   AE 

輸出:

column2 
AC 
AE