PostgreSQL:返回条目,其中列A中的值显示列B中不同值的多个时间



想象一下表:

col_A     col_B   
banana      1     
apple       1
banana      45     
banana      1     
kiwi        2
grape       2
grape       33
strawberry  56
strawberry  56

我想退货:

col_A    col_B
banana    1
banana    45
grape     2
grape     33

我想不出一种方法或函数来获得这个结果。希望得到建议。

这应该在postgre-sql中工作

模式定义

CREATE TABLE test_dp (
"firsttt" VARCHAR(10),
"secondd" INTEGER
);
INSERT INTO test_dp
("firsttt", "secondd")
VALUES
('banana', '1'),
('apple', '1'),
('banana', '45'),
('banana', '1'),
('kiwi', '2'),
('grape', '2'),
('grape', '33'),
('strawberry', '56'),
('strawberry', '56');

查询

select 
distinct(dp1.*) 
from 
test_dp dp1 
inner join test_dp dp2 on dp1.firsttt = dp2.firsttt
and dp1.secondd <> dp2.secondd;

DB Fiddle UK

最新更新