मैं HIVE में एक टेबल बना देता हूं।हाइव एक्सप्रेशन समूह में नहीं
id bigint, rank bigint, date string
मैं प्रति माह औसत (रैंक) प्राप्त करना चाहते हैं: यह निम्न स्तंभ है। मैं इस कमांड का उपयोग कर सकता हूँ। यह काम करता हैं।
select a.lens_id, avg(a.rank)
from tableA a
group by a.lens_id, year(a.date_saved), month(a.date_saved);
हालांकि, मैं भी तारीख की जानकारी प्राप्त करना चाहता हूं।
select a.lens_id, avg(a.rank), a.date_saved
from lensrank_archive a
group by a.lens_id, year(a.date_saved), month(a.date_saved);
यह शिकायत: Expression Not In Group By Key
हां। A.date_saved जोड़ने के बाद, यह काम करता है। हालांकि, यह वही नहीं करता जो मैं चाहता हूं। मुझे प्रति माह औसत (रैंक) चाहिए। अब यह औसत नहीं करता है। यह a.date_saved द्वारा समूह जोड़ने के बाद से सभी रिकॉर्ड दिखाता है। – chnet
@chnet: आपके पास कोई कॉलम नहीं चुना जा सकता है और इसे उस कॉलम द्वारा समूहीकृत नहीं किया गया है। यदि आप 'a.date_saved' प्रदर्शित करना चाहते हैं तो आपको इसके द्वारा समूहबद्ध करने की आवश्यकता है। आप 'वर्ष (a.date_saved) 'और' माह (a.date_saved)' प्रदर्शित करने में सक्षम हो सकते हैं क्योंकि वे 'समूह द्वारा' में हैं लेकिन उस पर 100% नहीं हैं। – Nija
धन्यवाद। मैं वर्ष (a.date_saved) और महीने (a.date_saved) प्रदर्शित करने में सक्षम हूं। – chnet