I consider it correct, but I am not a teacher.What about, 'Tom is always at the top of the class '? Is it correct?
Clicking on the 'Thank' button can obviate the need for a new post saying 'Thank you'. For more details, see https://www.usingenglish.com/forum/threads/223866-Indirect-question?p=1157921&viewfull=1#post1157921Thank you.
You don't usually talk about 'rank' in the context of a class.I would say 'ranked/ranks first', but I am not a teacher.
I think 'so it was Tom' can be omitted, but I am not a teacher.David didn't work as hard as Tom, so it was Tom who always came out first in class.
If you have a question about the English language and would like to ask one of our many English teachers and language experts, please click the button below to let us know: