मैं केवल क्वेरी भाग साझा कर रहा हूं जो आपकी पहली और दूसरी आवश्यकताओं को हल करता है, यह मानते हुए कि आपका डेटा एक ही संरचना में रहता है। आप अपनी क्वेरी में जॉइन और अन्य आवश्यक विवरण जोड़ सकते हैं।
SELECT
myView.*,
CONCAT(REPLACE(REPLACE(group_concat(SUBSTRING(notification_message,9)),'</strong>',''),SUBSTRING_INDEX(notification_message,'>',-1),''), SUBSTRING_INDEX(notification_message,'>',-1)) AS Message
FROM
(SELECT DISTINCT
receiver_id,
notification_issuer,
notification_message,
notification_target,
notification_type
FROM imgzer_notifications
WHERE receiver_id = 9 and notification_seen = 1
ORDER BY notification_time DESC) myView
GROUP BY myView.receiver_id, myView.notification_target, myView.notification_type;
मुझे पता है कि स्ट्रिंग फ़ंक्शन जटिल दिखते हैं, लेकिन आपके आवश्यक आउटपुट पर पहुंचने के लिए, उत्पन्न स्ट्रिंग्स के साथ खेलना पड़ा। मैंने अपना आउटपुट जांचने के लिए SQL Fiddle में आपके डेटा सेट को थोड़ा संशोधित किया है। आप यहां भी ऐसा कर सकते हैं:
http://www.sqlfiddle.com/#!2/70a937/49ए>
मुझे बताएं कि क्या कुछ अन्य मानदंड हैं जिन्हें पूरा किया जाना है या किसी भी वृद्धि की आवश्यकता है जो आपको क्वेरी में चाहिए।