मेरे पास id
, year
और count
के साथ एक तालिका है।पोस्टग्रेएसक्यूएल MAX और ग्रुप
मैं हर id
के लिए MAX(count)
हो और year
रखने जब ऐसा होता है करना चाहते हैं, तो मैं इस क्वेरी बनाने:
ERROR: column "table.year" must appear in the GROUP BY clause or be used in an aggregate function
तो:
SELECT id, year, MAX(count)
FROM table
GROUP BY id;
दुर्भाग्य से, यह मुझे एक त्रुटि देता है मैं कोशिश करता हूं:
SELECT id, year, MAX(count)
FROM table
GROUP BY id, year;
लेकिन फिर, यह डी MAX(count)
नहीं करते हैं, यह सिर्फ तालिका को दिखाता है। मुझे लगता है क्योंकि year
और id
द्वारा समूहित करते समय, यह उस विशिष्ट वर्ष के id
के लिए अधिकतम हो जाता है।
तो, मैं यह प्रश्न कैसे लिख सकता हूं? मैं id
के MAX(count)
और उस वर्ष होने पर वर्ष प्राप्त करना चाहता हूं।
यदि {आईडी, वर्ष} अद्वितीय हैं, तो अधिकतम (चीज़) '' चीज़ 'जैसा ही है।यह भी ध्यान रखें कि "गिनती" एक कीवर्ड है, (और साल के साथ-साथ कुछ बोलीभाषाओं में, आईआईआरसी) – wildplasser
आप प्रत्येक आईडी के साथ किस वर्ष प्राप्त करना चाहते हैं? "वर्ष" नहीं है, फिर एक और है, शायद आप 'MAX (वर्ष)' चाहते हैं? – mata
हाँ, वे अद्वितीय हैं इसलिए मुझे चीज़ मिलती है। मैं ids MAX (चीज़) प्राप्त करना चाहता हूं और यह भी देखें कि कौन सा वर्ष होता है। (मैं अपने कोड में गिनती नहीं लिख रहा था, बस एक उदाहरण) –