কম্পিউটার টিউটোরিয়াল

MySQL-এ JSON_OBJECTAGG() দিয়ে কি-ভ্যালু পেয়ার আকারে রেকর্ড দেখানো


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 বানায়।
  1. MySQL-এ USD মুদ্রার রেকর্ড সঠিক ফরম্যাটে প্রদর্শন করা

  2. MySQL-এ IF() ফাংশন দিয়ে NULL ভ্যালুর ভিত্তিতে কাস্টম টেক্সট দেখানো

  3. MySQL-এ তারিখ অনুযায়ী রেকর্ড গোষ্ঠীবদ্ধ করুন

  4. MySQL-এ BOOLEAN কলামে TRUE/FALSE কে ১/০ হিসেবে দেখানো