2011-10-13 4 views
6

मेरे पास कई विशेषताओं (ए, बी, सी, डी) के साथ कई रिकॉर्ड हैं।मुझे रूबी में रिकॉर्ड्स में अधिकतम विशेषता कैसे मिल सकती है?

मैं जो रिकॉर्ड में इस तरह के डी

के रूप में दिए गए विशेषता के लिए उच्च मूल्य, मैं ऐसा कैसे करते है खोजने के लिए सक्षम होना चाहते हैं?

+1

क्या आप हमें काम करने के लिए कुछ और दे सकते हैं? रिकॉर्ड कैसे संग्रहीत किए जाते हैं? – rwilliams

+0

क्या होगा यदि 'x' रिकॉर्ड्स की संख्या में एक ही अधिकतम विशेषता मान है और मैं सभी 'x' रिकॉर्ड्स रिकॉर्ड पुनर्प्राप्त करना चाहता हूं? – VoodooChild92

उत्तर

19

आप max_by एक नज़र दे सकते हैं।

objects = [some array of objects] 

object_with_highest_value = objects.max_by {|obj| obj.desired_value } 
2

आप कैसे कई रिकॉर्ड की क्या ज़रूरत है पर निर्भर करता है, यह अधिक डीबी पर खोज करने के लिए कुशल हो सकता है। मैं इच्छित वांछित विशेषता से आदेश दूंगा, और पहला रिकॉर्ड लें:

User.order('field DESC').first 
संबंधित मुद्दे