我的朋友们,我有一个如下所示的数据库表:
uniqueId,asin,rank 1,abc,1 2,xyz,2 3,abc,1 4,xyz,2 5,opq,3
如您所见,asin(和xyz)是重复的。所以我希望我的查询能够完全避免它们并只返回我(opq)。致以最诚挚的问候乌萨马
yftpprvb1#
我想你需要
select * from yourtable a where 1 = ( select count(*) from yourtable where a.asin = asin )
演示
sy5wg1nm2#
not exists 应具有最佳性能:
not exists
select t.* from t where not exists (select 1 from t t2 where t2.asin = t.asin and t2.id <> t.id );
为了提高性能,您需要一个索引 (asin, id) .
(asin, id)
2条答案
按热度按时间yftpprvb1#
我想你需要
演示
sy5wg1nm2#
not exists
应具有最佳性能:为了提高性能,您需要一个索引
(asin, id)
.