मेरे पास एक सारणी है जो किसी विशेष उपयोगकर्ता के मित्रों को सूचीबद्ध करती है:
User_id | दोस्त_नाम
1 | योएल
1 | जैक
2 | मारिया
मैं उन्हें user_id द्वारा समूहीकृत करना चाहता हूं और प्रत्येक पंक्ति में सभी दोस्तों के साथ एक सरणी है।
चयन कैसे कर सकते हैं जो इस परिवर्तन को करेगा?
अपडेट करें:
User_id द्वारा अपने_टेबल समूह से user_id, array_agg(friend_name) को दोस्तों के रूप में चुनें
ठीक काम करता है।
हालांकि मैं एक छोटा सा विवरण भूल गया, तालिका में एक और कॉलम है।
User_id | दोस्त_नाम | दोस्तों_आयु
1 | जोएल | 21
1 | जैक | 30
2 | मारिया | 25
मेरा समाधान एक और array_agg जोड़ना था:
select user_id, array_agg(friend_name), array_agg(friend_age)as friends
from your_table
group by user_id
मेरा मानना है कि यह काम करता है, एकमात्र समस्या तब होती है जब उम्र शून्य होती है, उस स्थिति में, मुझे एक मामला जोड़ने की आवश्यकता होती है जब खंड।
select user_id, array_agg(friend_name),
array_agg(CASE friend_age IS NULL THEN 0 ELSE friend_age END)as friends
from your_table
group by user_id
1 उत्तर
select user_id, array_agg(friend_name) as friends
from your_table
group by user_id
संबंधित सवाल
नए सवाल
google-bigquery
Google BigQuery एक Google क्लाउड प्लेटफ़ॉर्म उत्पाद है जो SQL का उपयोग करते हुए पेटाबाइट-स्केल डेटा सेट के सर्वर रहित क्वेरी प्रदान करता है। BigQuery कई रीड-राइट पाइपलाइन प्रदान करता है, और डेटा एनालिटिक्स को सक्षम करता है जो व्यवसायों को डेटा का विश्लेषण कैसे करते हैं।