diaries
EAV
SELECT * FROM DIARY D JOIN ( SELECT P.DIARY_ID, MAX(P.ID) AS PID FROM POSTS P JOIN USERS U ON P.USER_ID = U.ID GROUP BY P.DIARY_ID ) PP ON D.ID = PP.DIARY_ID JOIN USERS U ON D.USER_ID = U.ID ORDER BY PP.PID DESC