簡體   English   中英

SQL選擇唯一行

[英]SQL Select Unique Rows

范例1:

IDENT | CURRENT | SOURCE
12345 | 12345   | A
23456 | 12345   | B
34567 | 12345   | C

范例2:

IDENT | CURRENT | SOURCE
56789 | 56789   | A 

具有3列的表,IDENT,CURRENT和SOURCE。 我正在嘗試編寫一個查詢,該查詢僅在只有一個唯一的CURRENT記錄且IDENT = CURRENT(示例2)的記錄上顯示*。 有些記錄具有相同的CURRENT但具有不同的IDENT(示例1),這些記錄應從結果中省略。

我正在嘗試在IDENT = CURRENT的所有當前查詢中顯示與示例1類似的結果。不確定是否需要使用WHERE CURRENT COUNT = 1。

select * from table 
where ident=current 
and current in (select current from table group by 1 having count(*)=1)

或沒有子查詢

select 
min(ident) as ident, 
current, min(source) as source
from table 

where ident=current 
group by current
having count(*)=1
SELECT M.* 
FROM Table1 AS M 
WHERE M.IDENT = M.CURRENT 
AND (
      SELECT COUNT(*) 
      FROM Table1 AS S 
      WHERE M.IDENT = S.IDENT 
      AND M.CURRENT = S.CURRENT
    ) = 1

暫無
暫無

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

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