MySQLでgroup-concatを使用してJSON形式を作成するにはどうすればよいですか?
MySQLのgroup_concat()関数を使用してJSON形式を作成できます。構文は次のとおりです-
SELECT yourColumnName1,
GROUP_CONCAT(CONCAT('{anytName:"', yourColumnName, '",
anyName:"',yourColunName,'"}')) 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)
selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-
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,'"}')) 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) -
MySQLビューを作成する方法は?
MySQLビューを作成するには、次の構文のようにCREATEVIEWを使用します- create view yourViewName as select * from yourTableName;として作成します。 まずテーブルを作成しましょう- mysql> create table DemoTable1802 ( StudentId int, StudentName varchar(20) ); Query OK, 0 ro
-
MySQLクエリを使用してテーブル列の日付の形式を変更するにはどうすればよいですか?
日付の形式を変更するには、DATE_FORMAT()関数を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1906 ( DueTime datetime ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1906 values(now()); Query OK, 1 row affected (0.