日期:2014-05-17  浏览次数:20418 次

问一个查询重复项的sql语句
比如说一个学校的学生名称表
字段有主键id,班级编号cid,学生姓名snam,在表中学生姓名有可能重复输入了
要查询出每个班级本班学生姓名重复的项
求高手呀

------解决方案--------------------
select cid,snam
from tb
group by cid,snam
having count(snam)>1
------解决方案--------------------
select * from (
select rn = ROW_NUMBER() over (partition by class, name order by getdate()) * from  #tb) a where rn >=2

不知道對不對
------解决方案--------------------

select *
 from 学生名称表 a
 where exists
 (select 1 from 学生名称表 b
  where b.cid=a.cid and b.id<>a.id and b.snam=a.snam)

------解决方案--------------------
引用:
select cid,snam
from tb
group by cid,snam
having count(snam)>1
 这个就可以啊、
------解决方案--------------------
引用:
Quote: 引用:


select *
 from 学生名称表 a
 where exists
 (select 1 from 学生名称表 b
  where b.cid=a.cid and b.id<>a.id and b.snam=a.snam)

有点看不懂

找出所有同班且同名的学生资料.
------解决方案--------------------
我最近老是被无视

引用:
Quote: 引用:

select cid,snam
from tb
group by cid,snam
having count(snam)>1
 这个就可以啊、