DECLARE @tbl AS TABLE (class INT, rollno INT, Subject VARCHAR (100), MARK INT)
INSERT INTO @tbl
VALUES
(1, 1, 'eng', 56), (1, 2, 'eng', 70),
(1, 3, 'eng', 80), (1, 4, 'eng', 10),
(1, 1, 'maths', 67), (1, 2, 'maths', 89),
(1, 3, 'maths', 90), (1, 4, 'maths', 45),
(1, 1, 'Sci', 45), (1, 2, 'Sci', 56),
(1, 3, 'Sci', 76), (1, 4, 'Sci', 89),
(2, 1, 'eng', 68), (2, 2, 'eng', 65),
(2, 1, 'Sci', 70), (2, 2, 'Sci', 65)
SELECT Class, Rollno ,
sum(CASE WHEN SUBJECT='Eng' THEN MARK ELSE 0 END) AS Eng,
sum(CASE WHEN SUBJECT='Sci' THEN MARK ELSE 0 END) AS Science,
sum(CASE WHEN SUBJECT='Maths' THEN MARK ELSE 0 END) AS Maths
FROM @tbl
GROUP BY class ,rollno
add the subjects in the case condition as per your requirement