Here's the MySQL solution. I think the main difference in Oracle will be the syntax for concatenating all the pieces of the marks(%)
column.
SELECT a.Name, a.Subject, a.Marks,
CONCAT('(', a.Marks, '/', b.cnt, ') ', TRUNCATE(a.Marks/b.cnt, 2), '%') AS 'marks(%)'
FROM YourTable AS a
JOIN (SELECT Name, COUNT(*) cnt
FROM YourTable
GROUP BY Name) AS b
ON a.Name = b.Name
ORDER BY Name