JSON_OBJECTAGG() ফাংশন দিয়ে গ্রুপ বাই JSON অবজেক্ট তৈরি
MySQL 5.7+ এ JSON_OBJECTAGG(key, value) ফাংশন ব্যবহার করে গ্রুপ বাই করা কলামের ভ্যালুগুলোকে কি-ভ্যালু পেয়ার আকারে JSON অবজেক্ট হিসেবে দেখানো যায়।
টেবিল ও ডেটা
mysql> CREATE TABLE DemoTable (Id INT, FirstName VARCHAR(100), Age INT); mysql> INSERT INTO DemoTable VALUES(10,'John',23), (20,'Carol',21), (10,'Sam',24), (20,'Chris',20);
সব রেকর্ড
+------+-----------+------+ | Id | FirstName | Age | +------+-----------+------+ | 10 | John | 23 | | 20 | Carol | 21 | | 10 | Sam | 24 | | 20 | Chris | 20 | +------+-----------+------+
JSON_OBJECTAGG কোয়েরি
mysql> SELECT Id, JSON_OBJECTAGG(FirstName, Age) FROM DemoTable GROUP BY Id;
+------+-------------------------------+
| Id | JSON_OBJECTAGG(FirstName,Age) |
+------+-------------------------------+
| 10 | {"Sam": 24, "John": 23} |
| 20 | {"Carol": 21, "Chris": 20} |
+------+-------------------------------+
ব্যাখ্যা
GROUP BY Id— Id অনুযায়ী গ্রুপ।JSON_OBJECTAGG(FirstName, Age)— প্রতিটি গ্রুপের FirstName কে key, Age কে value হিসেবে JSON অবজেক্ট বানায়।- ডুপ্লিকেট Key হলে শেষ वाला 勝出 (MySQL 5.7.22+ তে ডুপ্লিকেট কি এরর দেয়,
JSON_OBJECTAGGতেIGNOREঅপশন নেই)।
অন্যান্য JSON ফাংশন
JSON_ARRAYAGG()— মানগুলোকে JSON অ্যারে বানায়।JSON_OBJECT()— নির্দিষ্ট কি-ভ্যালু পেয়ার থেকে JSON বানায়।