[英]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.