SQL去除重复记录 急~~

在bookinfo里查询bookid为1234的记录,但是bookinfo里不只有一条booid为1234的记录,我想查询时只显示一条而且是该死记录的全部信息.即:boo... 在bookinfo里查询bookid为1234的记录,但是bookinfo里不只有一条booid为1234的记录,我想查询时只显示一条而且是该死记录的全部信息.即:
bookid bookname bookauthor ……
1234 aa bb ……

我试过用distinct,select distinct * from ……
但还是两条相同bookid的记录都显示出来,请高手指点指点,谢谢~~
展开
 我来答
淡如水10000
2008-10-13 · TA获得超过107个赞
知道答主
回答量:124
采纳率:0%
帮助的人:0
展开全部
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 ....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whr2k
2008-10-13 · 超过11用户采纳过TA的回答
知道答主
回答量:22
采纳率:0%
帮助的人:0
展开全部
前提是这个表的每一行必须要有一个字段的值是唯一的,而且是整型,没有的话最好在结构里加一个,比如这个字段名是: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里这样写应该可以的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanluo007
2008-10-13 · TA获得超过1123个赞
知道小有建树答主
回答量:836
采纳率:0%
帮助的人:781万
展开全部
将select distinct *改成select distinct 具体的字段试试,
然后网上有很多删除重复字段的文章,查下,将重复的删除,然后为表设置主键,这样以后就不会有完全一样的记录了,也就不会造成这样的麻烦了,
呵呵,希望能有帮助,^_^
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
极速love锋狂
2008-10-13 · TA获得超过147个赞
知道小有建树答主
回答量:767
采纳率:0%
帮助的人:0
展开全部
楼主既然只想要booid=1234中的任何一条记录,那可以这样:
select top 1 * from bookinfo where booid = '1234'
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4571b65e
2008-10-13 · TA获得超过299个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:115万
展开全部
我的办法是:
例如要清除a表的重复数据;
先暂停服务器访问;
SELECT DISTINCT * INTO b FROM a;
DELETE a;
SELECT DISTINCT * INTO a FROM b;
DROP TABLE b;

呵呵,可能不是好方法,但这样做也得到了我想要的结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式