我有下表:
id item
1 A
2 A
3 B
4 C
3 H
1 E
我希望id僅當item列的值不同時才從列中獲取重復的值。最終結果應該是:
1 A
1 E
3 B
3 H
我嘗試過:
select id, items, count(*)
from table
group by id, items
HAVING count(*) > 1
但這只是從id列中給出重復的值,而沒有考慮到items列。
任何建議將不勝感激。
uj5u.com熱心網友回復:
您可以為此使用視窗函式,這通常比使用自聯接更有效
SELECT
t.id,
t.items,
t.count
from (
SELECT *,
COUNT(*) OVER (PARTITION BY t.id) AS count
FROM YourTable t
) t
WHERE t.count > 1;
資料庫<>小提琴
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/383293.html
標籤:sql PostgreSQL的
