簡體   English   中英

從兩列中查找不同的值

[英]Find distinct values from two columns

我有一張桌子,像這樣...

A        B
100      423
100      423
323      123
323      153
323      153
521      321
521      321
321      321

如何編寫查詢,使其僅獲得唯一的A AND B? 我希望結果看起來像這樣。

A        B
100      423
323      123
323      153
521      321
321      321

到目前為止,我只能使用

select * from ABtable group by A

這使

A        B
100      423
323      123
521      321

要么...

select * from ABtable group by B

會回來

A        B
100      423
323      123
323      153
321      321

但不是兩者兼而有之。

您可以按多列分組...

Select *
From   ABTable
Group By A, B

根據表定義以及可能的where / having子句,您可能會發現,使用distinct代替時性能會略有提高

Select Distinct A, B
From   ABTable

進行基准測試並做出決定。

要具有不同的行,您需要執行

SELECT DISTINCT *
FROM ABTABLE

要按A分組,您需要為B選擇一個聚合函數,就像SUMAVGMAXMINCOUNT等。在輸出示例中,您使用的是MIN ,那么查詢將是:

SELECT A, MIN(B)
FROM ABTABLE
GROUP BY A

如果要計算B元素,可以使用:

SELECT A, COUNT(B)
FROM ABTABLE
GROUP BY A

並且它將返回B中不同於NULL的元素數

暫無
暫無

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

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