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

MySQLで重複する値をハイフンで区切られた対応する値と組み合わせるにはどうすればよいですか?


結合するには、GROUP_CONCAT()関数を使用して、2行のいくつかの属性を1つに結合します。区切り文字として、ハイフンを使用します。

まずテーブルを作成しましょう-

mysql> create table DemoTable1386
   -> (
   -> Title varchar(255),
   -> Name varchar(60)
   -> );
Query OK, 0 rows affected (0.67 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1386 values('Introduction to MySQL','Paul DuBois');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1386 values('Java in Depth','Khalid Mughal');
Query OK, 1 row affected (0.48 sec)
mysql> insert into DemoTable1386 values('Introduction to MySQL','Russell Dyer');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable1386 values('Java in Depth','Joshua Bloch');
Query OK, 1 row affected (0.17 sec)

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

mysql> select * from DemoTable1386;

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

+-----------------------+---------------+
| Title                 | Name          |
+-----------------------+---------------+
| Introduction to MySQL | Paul DuBois   |
| Java in Depth         | Khalid Mughal |
| Introduction to MySQL | Russell Dyer  |
| Java in Depth         | Joshua Bloch  |
+-----------------------+---------------+
4 rows in set (0.00 sec)

以下は、重複する値を組み合わせるためのクエリです-

mysql> select Title,group_concat(Name separator '----') from DemoTable1386
-> group by Title;
からTitle、group_concat(Name Separ'----')を選択します。

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

+-----------------------+-------------------------------------+
| Title                 | group_concat(Name separator '----') |
+-----------------------+-------------------------------------+
| Introduction to MySQL | Paul DuBois----Russell Dyer         |
| Java in Depth         | Khalid Mughal----Joshua Bloch       |
+-----------------------+-------------------------------------+
2 rows in set (0.00 sec)

  1. MySQLクエリでSELECTを使用してINSERTINTO中に静的な値を追加するにはどうすればよいですか?

    INSERT INTO SELECT MySQLクエリを使用すると、静的な値を追加できます。 selectステートメントに直接値を書き込むか、値を初期化する変数を使用して追加できます。 ケース1 −値をINSERTINTOSELECTステートメントに直接配置します。構文は次のとおりです- INSERT INTO yourSecondTableName(yourColumnName1,yourColumnName2,....N)    SELECT yourColumnName1 ,yourColumnName2,.....N,yourStaticValue from yo

  2. PHPとMySQLで「ブール」値を処理する方法は?

    MySQLバージョン8.0.12を使用しています。まず、MySQLのバージョンを確認しましょう: mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12    | +-----------+ 1 row in set (0.00 sec) MySQLでブール値を処理するには、BOOL、BOOLEAN、またはTINYINT(1)を使用できます。 BOOLまたはBOOLEANを使用する場合、MySQLはそれを内部でTINYINT(1)に変換します。 BOOLまたはBOOLE