[英]MySQL select all distinct values from column a for each distinct column b, where count distinct a >1
[英]MySQL query all distinct from column A where none of them has a specific value in column B
有人可以為我指出正確的方向以尋求進一步的建議,或者給我有關以下任務的任何提示嗎?
我想列出來自A列的MySQL表中所有在B列中沒有特定值的不同值。我的意思是,相同的A值在B中的任何行中都沒有此特定值。 取下表(將該特定值為1):
column A | column B
----------------------
apple |
apple |
apple | 1
banana | anything
banana |
lemon |
lemon | 1
orange |
我想得到以下結果:
banana
orange
謝謝。
由於存在空值,因此我還向列B添加了nvl條件。
ORACLE:
SELECT DISTINCT COLUMN_A FROM MY_TABLE
WHERE COLUMN_A NOT IN (SELECT COLUMN_A FROM MY_TABLE WHERE nvl(COLUMN_B,'dummy') = '1');
MYSQL:
SELECT DISTINCT COLUMN_A FROM MY_TABLE
WHERE COLUMN_A NOT IN (SELECT COLUMN_A FROM MY_TABLE WHERE IFNULL(COLUMN_B,'dummy') = '1');
這可能對您有幫助:
SELECT DISTINCT A FROM MY_TABLE
WHERE A NOT IN (SELECT DISTINCT A FROM MY_TABLE WHERE B = 1)
SELECT * FROM your_Table WHERE Column_A NOT IN(
SELECT Column_A FROM Your_Table WHERE Column_B = '1'
)
該語句為您提供了預期的結果:
select COLUMNA from myTable where COLUMNA not in (select distinct COLUMNA from myTable where columnB
=1) group by COLUMNA;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.