आप संशोधित किए जा रहे आइटम के आइटम आईडी पर समूह बना सकते हैं - जो इस मामले में इस तरह दिखता है:ua.imdbID.
एक बार ऐसा करने के बाद, आप डेटा की अन्य पंक्तियों को खो देंगे, इसलिए आप सभी संबंधित आईडी प्राप्त करने के लिए GROUP_CONCAT का उपयोग करेंगे।
GROUP_CONCAT(sa.activityID);
तो आपका अंतिम परिणाम होगा:
SELECT ua.datetime, ua.imdbID, ua.personID, GROUP_CONCAT(sa.activityID), sa.activity, m.title, m.year, p.name, umv.vote, upv.vote, r.review, t.youTubeID, ps.filename, ph.filename
FROM user_activity ua
JOIN sys_activities sa ON ua.activityID = sa.activityID
LEFT OUTER JOIN movies m ON ua.imdbID = m.imdbID
LEFT OUTER JOIN persons p ON ua.personID = p.personID
LEFT OUTER JOIN user_movies_vote umv ON umv.userID = ua.userID AND umv.imdbID = ua.imdbID
LEFT OUTER JOIN user_persons_vote upv ON upv.userID = ua.userID AND upv.personID = ua.personID
LEFT OUTER JOIN reviews r ON r.userID = ua.userID AND r.imdbID = ua.imdbID
LEFT OUTER JOIN (
select imdbID, userID, youTubeID, max(hd) as MaxTrailerStatus
from trailers
group by imdbID
) t ON ua.imdbID = t.imdbID AND ua.userID = t.userID
LEFT OUTER JOIN (
select imdbID, filename, max(main) as MaxPosterStatus
from posters
group by imdbID
) ps ON ua.imdbID = ps.imdbID
LEFT OUTER JOIN (
select personID, filename, max(main) as MaxPhotosStatus
from photos
group by personID
) ph ON ua.personID = ph.personID
WHERE ua.userID = ? GROUP BY ua.imdbID
ORDER BY ua.datetime DESC