SQL去除重复记录 急~~

2025-03-02 01:27:46
推荐回答(5个)
回答1:

select distinct * from ....
知道你这句的意思吗 这里的distinct不是指去除相同bookid的信息,
而是去除所有相同字段的信息。就知道为什么出现那种结果了
例子:
id name
1 A
1 B
1 C
1 A
结果是:
1 A
1 B
1 C

注意事项:这里的两条重复的记录千万不要出现 这只是个例子

可以用 select distinct bokkid ,(其他全部字段..) from ....

回答2:

前提是这个表的每一行必须要有一个字段的值是唯一的,而且是整型,没有的话最好在结构里加一个,比如这个字段名是:ID
Select bookinfo.bookid,bookinfo.bookname,bookinfo.bookauthor From (
Select Max(ID) As MaxID,bookid,bookname,bookauthor From bookinfo Group By bookid,bookname,bookauthor
) Tmp
Inner Join bookinfo On bookinfo.ID=Tmp.MaxID

SQL里这样写应该可以的。

回答3:

将select distinct *改成select distinct 具体的字段试试,
然后网上有很多删除重复字段的文章,查下,将重复的删除,然后为表设置主键,这样以后就不会有完全一样的记录了,也就不会造成这样的麻烦了,
呵呵,希望能有帮助,^_^

回答4:

楼主既然只想要booid=1234中的任何一条记录,那可以这样:
select top 1 * from bookinfo where booid = '1234'

回答5:

我的办法是:
例如要清除a表的重复数据;
先暂停服务器访问;
SELECT DISTINCT * INTO b FROM a;
DELETE a;
SELECT DISTINCT * INTO a FROM b;
DROP TABLE b;

呵呵,可能不是好方法,但这样做也得到了我想要的结果