2013-02-20 5 views
7

मैं एक इन्वेंट्री डेटाबेस बना रहा हूं और इसमें 2 कॉलम हैं जिन्हें मैं समूह (निर्माता और मॉडल) द्वारा समूह करना चाहता हूं। मैं इन कॉलमों से कैसे समूह करूंगा और आइटम समूह का योग कैसे प्रदान करूं?मैं दो स्तंभों से समूह कैसे बना सकता हूं और समूहीकृत वस्तुओं का योग प्रदान करता हूं

उदाहरण के लिए:

Qty Manufacturer Model 
1 Sony   MF-2002 
1 Sony   MF-2002 
1 Planar  PL2410W 
1 Planar  PL2410W 
1 Planar  PL2410W 
1 Planar  PL3610D 
1 Planar  PL3610D 

परिणाम:

Qty Manufacturer Model 
2 Sony   MF-2002 
3 Planar  PL2410W 
2 Planar  PL3610D 

उत्तर

9

एक Item मॉडल मानते हुए, आप इस प्रकार group विधि करने के लिए एक सरणी पारित कर सकते हैं:

Item.group(["manufacturer", "model"]).sum(:qty) 
# => {["Planar", "PL2410W"]=>3, ["Planar", "PL3610D"]=>2, ["Sony", "MF-2002"]=>2} 
संबंधित मुद्दे