SQL删除列中具有相同值的行

问题描述 投票:0回答:3

我的列“名称”具有相同的值。

例如:

select * table WHERE name Like 'Kate'

结果:具有此名称的2行。我需要在这样的行中只留下一个具有此名称(随机)的行。并且不要显示具有相同名称的其他条目。我怎样才能做到这一点?谢谢。

sql database postgresql distinct
3个回答
2
投票

删除时可以使用限制

DELETE FROM table WHERE name Like 'Kate' limit 1


0
投票
delete from QQNAMES
  where name like 'Kate%'
  AND ID <> (select id from QQNAMES 
  where name like 'Kate%'
  and ROWNum <=1);

除第一个名称外,将删除'Kate%'模式中的所有名称

注意:并非所有数据库系统都支持SELECT TOP子句。 MySQL支持LIMIT子句选择有限数量的记录,而Oracle使用ROWNUM。来自:w3schools


0
投票

尝试类似的东西;

delete from table where Id IN(
select Id from table WHERE name Like 'Kate' limit 1)
© www.soinside.com 2019 - 2024. All rights reserved.