我有学生成绩的数据。每个学生都出现在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
答案 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
- 结果