sqlserver 2008中的表,id列是不重复的主键,除id列,其他列出现重复数据,怎么去除重复???

idnamesexage1小马男232小张女223小韩男234小马男235小马男236小韩男237小马男23怎么能一个人只剩一行?而且不改变前面的id号... id name sex age
1 小马 男 23
2 小张 女 22
3 小韩 男 23
4 小马 男 23
5 小马 男 23
6 小韩 男 23
7 小马 男 23

怎么能一个人只剩一行?而且不改变前面的id号
展开
 我来答
dhr2001
2012-09-02 · TA获得超过542个赞
知道小有建树答主
回答量:266
采纳率:83%
帮助的人:154万
展开全部
你这题目问的很奇怪。如果你想分组就用group by 如果你想去掉重复项就用distinct 但是你要保留ID,去掉重复项。不理解是什么意思。
1 小马 男 23
4 小马 男 23
7 小马 男 23
对于系统来说这根本就不是同一个数据,除非你忽略ID,这样可以distinct。就像一个班级有3个同名的同学一样。学号不同,就表示是不同的人。除非你忽略学号,这样有3个小马,就可以认为是一条记录重复了3次。
szm341
2012-09-02 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5148万
展开全部
select * from table a where exists
(select 1 from table group by name,sex,age having min(id)=a.id)
追问
报错!HAVING 子句中的列 'a.Id' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
追答
表别名a是外面的,里面的不用加表别名,或者用其他表别名比如b
或者
select * from table a where id in
((select min(id) as id from table group by name,sex,age)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式