मेरे पास नामों के साथ pgsql पर एक तालिका है (1 mio पंक्तियों से अधिक), लेकिन मेरे पास कई डुप्लिकेट भी हैं। मैं 3 क्षेत्रों का चयन करें: id
, name
, metadata
।
मैं उनके साथ बेतरतीब ढंग से चयन करना चाहते हैं ORDER BY RANDOM()
और LIMIT 1000
, इसलिए मैं यह मेरा PHP स्क्रिप्ट में कुछ स्मृति को बचाने के लिए कई कदम है।
लेकिन मैं ऐसा कैसे कर सकता हूं ताकि यह केवल मुझे एक सूची दे सके जिसमें नामों में कोई डुप्लिकेट न हो।
उदाहरण के लिए [1,"Michael Fox","2003-03-03,34,M,4545"]
वापस कर दिया जाएगा, लेकिन नहीं [2,"Michael Fox","1989-02-23,M,5633"]
। नाम फ़ील्ड सबसे महत्वपूर्ण है और सूची में अद्वितीय होना चाहिए हर बार जब मैं चयन करता हूं और यह यादृच्छिक होना चाहिए।
मैं के साथ की कोशिश की GROUP BY name
, बू तो यह मुझे आईडी और मेटाडाटा के GROUP BY
रूप में अच्छी तरह से या एक aggragate समारोह में होने की उम्मीद है, लेकिन मैं उन्हें किसी भी तरह से फ़िल्टर करना नहीं चाहता।
किसी को भी पता है कि कैसे कई कॉलम लाने हैं लेकिन क्या केवल एक कॉलम पर एक अलग है?