SELECT Admin,Message,Type,Date FROM table
INNER JOIN users ON users.ID = table.ID WHERE users.Name='Test' ORDER BY Date DESC, GROUP BY Type
SELECT
*
FROM (SELECT
TYPE, MAX(DATE) AS DATE
FROM TABLE
INNER JOIN USERS ON USERS.ID = TABLE.ID
WHERE
USERS.NAME = 'Test'
GROUP BY
TYPE)
ORDER BY DATE DESC
SELECT
TYPE,
MAX(DATE) AS DT
FROM TABLE
INNER JOIN USERS ON USERS.ID = TABLE.ID
WHERE
USERS.NAME = 'Test'
GROUP BY
TYPE
ORDER BY DT DESC