各位大侠好, 问一个面试时遇到的问题. 先谢谢了
问: 一张表没有主键的表,里面已经存在很多重复数据, 要求由于业务关系,希望在不删除原有记录的情况下,给这张表添加主键.该如何做?
各位大侠好, 问一个面试时遇到的问题. 先谢谢了
问: 一张表没有主键的表,里面已经存在很多重复数据, 要求由于业务关系,希望在不删除原有记录的情况下,给这张表添加主键.该如何做?
我认为面试官是考察你的SQL能力
[url]http://huajiang.iteye.com/blog/485059[/url]
[code="sql"]DELETE FROM hs a
WHERE ROWID <> (SELECT MIN (ROWID)
FROM hs b
WHERE a.hsflid = b.hsflid AND a.flqw_id = b.flqw_id);[/code]
但是如下面评论中的一样,这个效率是有问题的。
在数据量多的情况下,通常是使用临时表的。