select min()的问题

自动编号学号姓名课程编号课程名称分数12005001张三0001数学6922005002李四0001数学8932005001张三0001数学69删除除了自动编号不同,其他... 自动编号 学号 姓名 课程编号 课程名称 分数
1 2005001 张三 0001 数学 69
2 2005002 李四 0001 数学 89
3 2005001 张三 0001 数学 69
删除除了自动编号不同,其他 都相同的学生冗余信息

答案: delete tablename where 自动编号 not in(select min(自动编号) from tablename group by 学号,姓名,课程编号,课程名称,分数)
请问这个 字句里的select min(自动编号) 意思不是查询表里最小的自动编号吗
这和都相同的学生冗余信息有啥关系??网上这个答案是不是错了??但我看了好多都是这样的答案,查询最小的自动编号和相同的学生冗余信息有关系吗?怎么理解?
展开
 我来答
wunaliang
2013-01-21 · TA获得超过397个赞
知道小有建树答主
回答量:673
采纳率:100%
帮助的人:342万
展开全部
这个是对的
not in 是指不在这个最小的自动编号的数据都删除
比如说你的数据 张三的信息按照学号,姓名,课程编号,课程名称,分数 分组后有自动编号1,3个数据 可能还会有更多比如4,5,6

select min(自动编号) 对于张三来说 就是 1
那么Delete时 只要自动编号 not in 就是把不等于1的张三数据都删除
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友02af07bde
2013-01-23
知道答主
回答量:6
采纳率:100%
帮助的人:5.7万
展开全部
简单来说,就是将数据分组(GROUP BY),相同的数据保留最小编号的那一条(SELECT MIN(自动编号)),其他的(NOT IN)都去掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式