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

时间:2017-12-25 08:34:53

标签: sql database postgresql distinct

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

例如:

select * table WHERE name Like 'Kate'

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

3 个答案:

答案 0 :(得分:2)

删除时可以使用限制

DELETE FROM table WHERE name Like 'Kate' limit 1

答案 1 :(得分:0)

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

将删除&#39; Kate%&#39;中的所有名称模式除了第一个

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

答案 2 :(得分:0)

尝试类似的东西;

delete from table where Id IN(
select Id from table WHERE name Like 'Kate' limit 1)