发现数据重复

时间:2014-08-13 08:23:21

标签: sql duplicates

我有学生成绩的数据。每个学生都出现在5个科目中。很少有学生在数据库中拥有超过5条记录。学生在“科学”中有2条记录,每个剩余科目有1条记录。共有6条记录。这里给出了一个例子。

示例数据:

RollNo          Subject   TOTAL_MARKS
-------------------------------------
11-119-302        ENGL      34
11-119-302        MATH      56
11-119-302        SCIE      44
11-119-302        SCIE      24
11-119-302        URDU      76

我希望这些学生的所有领域都有重复的科目。

必填项:

RollNo          Subject   TOTAL_MARKS
-------------------------------------    
11-119-302        ENGL      34
11-119-302        ENGL      56
11-119-333        SCIE      44
11-119-333        SCIE      24

2 个答案:

答案 0 :(得分:1)

试试这个:

select * from results where
         num in ( select num from results group by num having count(num)>2)

答案 1 :(得分:1)

见这个

DECLARE @MARKS TABLE (ROLLNO VARCHAR(20),SUBJECT VARCHAR(20), TOTAL_MARKS INT)
INSERT INTO @MARKS VALUES 
('11-119-302','ENGL',34),
('11-119-302','MATH',56),
('11-119-302','SCIE',44),
('11-119-302','SCIE',24),
('11-119-302','URDU',76)

SELECT  *
FROM    @MARKS M JOIN (
SELECT  ROLLNO,SUBJECT,COUNT(*) C FROM @MARKS GROUP BY ROLLNO,SUBJECT HAVING COUNT(*) > 1) LU
ON      M.ROLLNO = LU.ROLLNO AND M.SUBJECT = LU.SUBJECT

- 结果

enter image description here