MySQL-এ GROUP_CONCAT() ফাংশন ব্যবহার করে JSON ফরম্যাট তৈরি করা যায়। সিনট্যাক্স:
SELECT yourColumnName1, GROUP_CONCAT(CONCAT('{anyName:"', yourColumnName, '", anyName:"', yourColumnName, '"}')) AS anyVariableName FROM yourTableName GROUP BY yourColumnName1;
সিনট্যাক্স বুঝতে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE JsonFormatDemo (
-> UserId INT,
-> UserName VARCHAR(100),
-> UserEmail VARCHAR(100)
-> ); Query OK, 0 rows affected (0.99 sec)
ইনসার্ট কমান্ড দিয়ে রেকর্ড ইনসার্ট করি:
mysql> INSERT INTO JsonFormatDemo VALUES(101,'John','John@gmail.com'); Query OK, 1 row affected (0.19 sec) mysql> INSERT INTO JsonFormatDemo VALUES(101,'Bob','John@gmail.com'); Query OK, 1 row affected (0.18 sec) mysql> INSERT INTO JsonFormatDemo VALUES(102,'Carol','Carol@gmail.com'); Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO JsonFormatDemo VALUES(103,'Sam','Sam@gmail.com'); Query OK, 1 row affected (0.15 sec)
সিলেক্ট স্টেটমেন্ট দিয়ে সব রেকর্ড দেখি:
mysql> SELECT * FROM JsonFormatDemo;
আউটপুট
+--------+----------+-----------------+ | UserId | UserName | UserEmail | +--------+----------+-----------------+ | 101 | John | John@gmail.com | | 101 | Bob | John@gmail.com | | 102 | Carol | Carol@gmail.com | | 103 | Sam | Sam@gmail.com | +--------+----------+-----------------+ 4 rows in set (0.00 sec)
GROUP_CONCAT() ফাংশন ব্যবহার করে JSON ফরম্যাট তৈরির ক্যোয়ারি:
mysql> SELECT UserId,
-> GROUP_CONCAT(CONCAT('{Name:"', UserName, '", Email:"', UserEmail, '"}')) AS JsonFormat
-> FROM JsonFormatDemo
-> GROUP BY UserId;
আউটপুট
+--------+----------------------------------------------------------------------------+
| UserId | JsonFormat |
+--------+----------------------------------------------------------------------------+
| 101 | {Name:"John", Email:"John@gmail.com"},{Name:"Bob", Email:"John@gmail.com"} |
| 102 | {Name:"Carol", Email:"Carol@gmail.com"} |
| 103 | {Name:"Sam", Email:"Sam@gmail.com"} |
+--------+----------------------------------------------------------------------------+
3 rows in set (0.00 sec)