Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

JSON_ARRAYAGG () - MySQL में एक क्वेरी की पंक्तियों से एक JSON सरणी बनाएं

कई 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 ऑब्जेक्ट बनाने की अनुमति देता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TO_SECONDS () उदाहरण – MySQL

  2. SQL कर्सर के साथ कार्य करना

  3. इकाई-विशेषता-मूल्य तालिका डिजाइन

  4. PHP और MySQL पर चेतावनियाँ और त्रुटियाँ बंद करें

  5. PHP/MySQL का उपयोग करके CSV डेटा आयात करना