MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのキーと値のペアに基づいてレコードを表示する


これには、JSON_OBJECTAGG()を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   Id int,
   FirstName varchar(100),
   Age int
);
Query OK, 0 rows affected (0.56 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values(10,'John',23);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(20,'Carol',21);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(10,'Sam',24);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(20,'Chris',20);
Query OK, 1 row affected (0.13 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+------+-----------+------+
| Id   | FirstName | Age  |
+------+-----------+------+
|   10 | John      |   23 |
|   20 | Carol     |   21 |
|   10 | Sam       |   24 |
|   20 | Chris     |   20 |
+------+-----------+------+
4 rows in set (0.00 sec)

以下は、MySQLJSON_OBJECTを使用してレコードをキーと値のペアで表示するクエリです-

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}    |
+------+-------------------------------+
2 rows in set (0.07 sec)

  1. MySQLで日付をグループ化してレコードを表示する

    MySQLで日付をグループ化するには、GROUPBY句-を使用します mysql> create table DemoTable2002 (    CustomerName varchar(20),    CustomerShippingDate datetime ); Query OK, 0 rows affected (0.61 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2002 values('Chris','2019-

  2. MySQLでTRUEFALSEレコードを01として表示する

    0と1の値を表示するには、列をBOOLEANに設定します。テーブルを作成しましょう- mysql> create table DemoTable2035    -> (    -> Id int NOT NULL AUTO_INCREMENT,    -> Name varchar(20),    -> isMarried boolean,    -> PRIMARY KEY(Id)    -> ); Query OK, 0 rows