मुझे नहीं लगता कि आप इसे SQL में कुशलतापूर्वक कर सकते हैं। इसे करने का एक धीमा तरीका कुछ इस प्रकार है:
CREATE TEMPORARY TABLE tmp_table (...);
INSERT INTO tmp_table SELECT phone, max(rating) FROM table GROUP BY phone;
TRUNCATE table;
INSERT INTO table SELECT * FROM tmp_table;
एक बेहतर तरीका संग्रहित प्रक्रिया या बाहरी स्क्रिप्ट होगा। phone
. द्वारा क्रमित तालिका से सभी पंक्तियों का चयन करें और समूहीकरण/विलय/हटाएं मैन्युअल रूप से करें (परिणामों पर पुनरावृति करें, phone
से तुलना करें पिछली पंक्ति से मान, यदि यह भिन्न है तो आपके पास एक नया समूह है, आदि)। MySQL में संग्रहीत कार्यविधियाँ लिखना हालांकि दर्दनाक है, इसलिए मैं आपके लिए कोड नहीं लिखने जा रहा हूँ। :)पी>