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

MySQLでGROUP_CONCATおよびCONCATとDISTINCTを使用して単一列の値を引用するにはどうすればよいですか?


このために、replace()と一緒にgroup_concat()を使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable1799
     (
     EmployeeId varchar(20)
     );
Query OK, 0 rows affected (0.00 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1799 values('101,102,103,104');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1799 values('106,109');
Query OK, 1 row affected (0.00 sec)
>

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

mysql> select * from DemoTable1799;

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

+-----------------+
| EmployeeId      |
+-----------------+
| 101,102,103,104 |
| 106,109         |
+-----------------+
2 rows in set (0.00 sec)

これは、group_concatとconcatを使用して単一の列の値を個別に引用するクエリです-

mysql> select group_concat(distinct concat("'", replace(EmployeeId, "," , "','") , "'")) as Output from DemoTable1799;

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

+-------------------------------------+
| Output                              |
+-------------------------------------+
| '101','102','103','104','106','109' |
+-------------------------------------+
1 row in set (0.00 sec)

  1. MySQLで列の値を個別のテキストと連結し、単一の列に表示します

    最初にテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Id int,    -> Name varchar(20)    -> ); Query OK, 0 rows affected (0.93 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(101,'Chris'); Query OK, 1

  2. 単一のMySQLクエリで列に複数の値を挿入するにはどうすればよいですか?

    列に複数の値を挿入するための構文は次のとおりです- insert into yourTableName values(yourValue1),(yourValue2),..........N; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2022    -> (    -> Department varchar(100)    -> ); Query OK, 0 rows affected (0.49 sec) 挿入コマンド-を使用して、