Puoi creare una sottoquery che produca un prodotto cartesiano dalla query originale e la cosa più interessante è che puoi incrementarlo di uno (che poi risulta ad esso Numero RANK ).
SELECT @rankNo:[email protected]+1 RankNo,
a.*
FROM Table1 a, (SELECT @rankNo:=0) r
ORDER BY `total_correct_question` DESC,
`time_taken_in_seconds` ASC