There are a couple options here. One is to use ROWCOUNT, as vivektiwari97701 pointed out. You can specify a ROWCOUNT of 2 and order by Student_marks in descending order like so:
SET ROWCOUNT 2
SELECT *
FROM tableName
ORDER BY Student_marks DESC
Don't forget to turn ROWCOUNT off afterwards, since it applies to all queries.
Another possibility would be to use the ROW_NUMBER() function in a CTE along like so:
With cteName AS
( SELECT S_No, Student_Name, Student_marks,
ROW_NUMBER() OVER (order by Student_marks DESC) as RowNumber
FROM tableName)
select *
from cteName
Where RowNumber Between 1 and 3
The benefit here is that it only applies to this query and it can be changed if you made the numbers parameters. That would allow you to do paging easily. Also note that it is between 1 and 3, which will include 1 but not include 3 (thus records 1 and 2 only).