我剛剛開始學習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
我剛剛開始學習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
試試這個:
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'
見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
@a_horse_with_no_name好編輯 – Bhushan