यदि आप एक (या अधिक) कॉलम के आधार पर समूह बना रहे हैं तो आपको अपनी क्वेरी को समझने के लिए सभी गैर-समूहीकृत स्तंभों के लिए कुछ करना होगा।
आपको यह कहना होगा कि आप सभी समूहीकृत मूल्यों के साथ क्या करना चाहते हैं। आमतौर पर SUM(), AVG(), MIN(), MAX(), GROUP_CONCAT()
जैसा कुछयदि आप m_from द्वारा समूहीकृत कर रहे हैं, तो आप m_time द्वारा क्रमबद्ध नहीं कर पाएंगे, क्योंकि m_from के सभी रिकॉर्ड एक साथ समूहीकृत किए जाएंगे, और गैर-समूहीकृत मानों के लिए आपको एक मनमाना उत्तर मिलेगा, क्योंकि आपने नहीं किया था निर्दिष्ट करें कि समूह के साथ क्या करना है।
आप शायद m_time के लिए उच्चतम मान प्राप्त करने के लिए MAX(m_time) जैसे समग्र फ़ंक्शन का उपयोग करना चाहते हैं, और फिर उस पर सॉर्ट करना चाहते हैं।
मैं कुछ इस तरह का सुझाव दूंगा।
SELECT MAX(m_id),m_from, MAX(m_time) as latest FROM messages
WHERE m_to='XXX' OR m_from='XXX'
GROUP BY m_from
ORDER BY latest DESC;