请帮忙看下这个sql 查询语句该怎么写? 20

举例表A(ID(intidentity(1,1)primarykey),学院(XY),系别(XB),班级(BJ),姓名(XM))ID学院系别班级姓名1XY1XB1BJ1X... 举例表A(ID(int identity(1,1)primary key),学院(XY),系别(XB),班级(BJ),姓名(XM))
ID 学院 系别 班级 姓名
1 XY1 XB1 BJ1 XM1
2 XY1 XB1 BJ2 XM1
3 XY2 XB2 BJ1 XM2
4 XY2 XB2 BJ1 XM2

我要查询,在同一个学院的同一个系的同一个班中姓名不重复的学生信息。结果形如下表:
ID 学院 系别 班级 姓名
1 XY1 XB1 BJ1 XM1
2 XY1 XB1 BJ2 XM1
3 XY2 XB2 BJ2 XM2

谢谢!
展开
 我来答
769949044
2013-02-01 · 超过21用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:49.1万
展开全部
select *
from tableA a
where exitst (select b.id
from tableA b
where a.xy = b.xy
and a.xb = b.xb
and a.bj = b.bj
and a.xm = b.xm
and a.id = min(b.id))

用子查询查出同一个学院的同一个系的同一个班中姓名不重复的学生的ID,在根据ID查询想要的学生信息。希望对你有帮助。
百度网友b37ba8c
2013-01-31 · TA获得超过334个赞
知道小有建树答主
回答量:457
采纳率:0%
帮助的人:223万
展开全部
select * from a a1 where not exitst(
select null from a a2 where a2.xy = a1.xy and a2.xb = a1.xb and a2.bj = a1.bj and a2.xm = a1.xm and a2.id > a1.id)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
geyujing102
2013-02-01 · TA获得超过204个赞
知道答主
回答量:241
采纳率:0%
帮助的人:141万
展开全部
select distinct 学院 系别 班级 姓名 from A
这样可以去掉重复的数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
若古露J
2013-01-31
知道答主
回答量:1
采纳率:0%
帮助的人:1535
展开全部
select distinct row_number() over(order by id) as id, 学院,系别,班级,姓名 from table

由于你ID是自动生成的,除ID字段外,其他列distinct一下,重新生成ID即可,不重新生成ID就达不到你要的结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Forseayoung
2013-01-31 · TA获得超过146个赞
知道小有建树答主
回答量:195
采纳率:70%
帮助的人:137万
展开全部
select max(ID) as ID,学院,系别,班级,姓名 from 举例表A group by 学院,系别,班级,姓名

max可换其他聚合函数,如:MIN()

刚刚测试通过,需要排序的话可以加上order by.....
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ForeverLoveZLH
2013-01-31
知道答主
回答量:25
采纳率:0%
帮助的人:6.3万
展开全部
我倒,你给的结果姓名就有一样的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式