Here are three potential solutions. Give them each a try and see which is better for your data and situation. Keep in mind that in situations where a username has two identical submitted_date values the results may not be what you're expecting.
SELECT
T1.id,
T1.username
FROM
My_Table T1
INNER JOIN
(
SELECT username, MAX(submitted_date)
FROM My_Table T2 GROUP BY username
) SQ
ON SQ.username = T1.username AND SQ.submitted_date = T1.submitted_date
.
SELECT
T1.id,
T1.username
FROM
My_Table T1
WHERE
NOT EXISTS
(
SELECT *
FROM
My_Table T2
WHERE
T2.username = T1.username AND
T2.submitted_date > T1.submitted_date
)
.
SELECT
T1.id,
T1.username
FROM
My_Table T1
LEFT OUTER JOIN My_Table T2 ON
T2.username = T1.username AND
T2.submitted_date > T1.submitted_date
WHERE
T2.id IS NULL