कई MySQL एग्रीगेट फ़ंक्शंस में से एक है जिसे JSON_ARRAYAGG()
. कहा जाता है . यह फ़ंक्शन आपको एक एकल JSON सरणी के रूप में सेट किए गए परिणाम को एकत्रित करने में सक्षम बनाता है। परिणाम सेट की प्रत्येक पंक्ति सरणी में एकल तत्व के रूप में समाप्त होती है।
सरणी में तत्वों का क्रम अपरिभाषित है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
JSON_ARRAYAGG(col_or_expr)
जहां col_or_expr
एक स्तंभ या व्यंजक है जो एक मान का मूल्यांकन करता है।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
यहां एक सामान्य क्वेरी है जिसे हम JSON_ARRAYAGG()
के बिना चला सकते हैं समारोह:
SELECT District AS 'State', Name AS 'City' FROM City WHERE CountryCode = 'AUS' ORDER BY State;
परिणाम:
+-----------------+---------------+ | State | City | +-----------------+---------------+ | Capital Region | Canberra | | New South Wales | Sydney | | New South Wales | Newcastle | | New South Wales | Central Coast | | New South Wales | Wollongong | | Queensland | Brisbane | | Queensland | Gold Coast | | Queensland | Townsville | | Queensland | Cairns | | South Australia | Adelaide | | Tasmania | Hobart | | Victoria | Melbourne | | Victoria | Geelong | | West Australia | Perth | +-----------------+---------------+
हम उस क्वेरी को समायोजित कर सकते हैं, ताकि प्रत्येक शहर एक सरणी में एक तत्व बन जाए। ऐसा करने के लिए, हम बस Name
. पास करते हैं कॉलम (शहर का नाम) से JSON_ARRAYAGG()
समारोह।
हम GROUP BY
. का भी उपयोग करते हैं District
. द्वारा परिणामों को समूहबद्ध करने के लिए क्लॉज कॉलम (इस मामले में, हमने इस कॉलम के लिए State
. नामक एक उपनाम बनाया है )।
SELECT District AS 'State', JSON_ARRAYAGG(Name) AS 'Cities' FROM City WHERE CountryCode = 'AUS' GROUP BY State;
परिणाम:
+-----------------+--------------------------------------------------------+ | State | Cities | +-----------------+--------------------------------------------------------+ | Capital Region | ["Canberra"] | | New South Wales | ["Sydney", "Newcastle", "Central Coast", "Wollongong"] | | Queensland | ["Brisbane", "Gold Coast", "Townsville", "Cairns"] | | South Australia | ["Adelaide"] | | Tasmania | ["Hobart"] | | Victoria | ["Melbourne", "Geelong"] | | West Australia | ["Perth"] | +-----------------+--------------------------------------------------------+
यह भी देखें JSON_OBJECTAGG()
फ़ंक्शन जो आपको किसी क्वेरी से JSON ऑब्जेक्ट बनाने की अनुमति देता है।