id username mark dateT
1 user1 78 2006
2 user2 45 2006
3 user1 89 2007
4 user2 78 2009
SELECT * FROM tableA a WHERE a.mark >= (SELECT MAX(b.mark) FROM tableA b WHERE b.username=a.username )
id username mark dateT
3 user1 89 2007
4 user2 78 2009