Another approach is to you a ranking function like:SELECT
name,
testname,
marks,
status
FROM
(
SELECT
name,
testname,
marks,
status,
ROW_NUMBER() OVER (PARTITION BY testname ORDER BY marks DESC) as RowNum
FROM
Table
WHERE
name = 'ali'
) AS A
WHERE
RowNum = 1