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

MySQLのCONCATでGROUP_CONCATを使用するにはどうすればよいですか?


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

mysql> create table GroupConcatenateDemo
-> (
-> id int,
-> FirstName varchar(100),
-> Score int
-> );
Query OK, 0 rows affected (0.61 sec)

レコードの挿入

ここで、いくつかのレコードを挿入しましょう。

mysql> insert into GroupConcatenateDemo values(1,'John',94);
Query OK, 1 row affected (0.16 sec)

mysql> insert into GroupConcatenateDemo values(2,'Bob',98);
Query OK, 1 row affected (0.16 sec)

mysql> insert into GroupConcatenateDemo values(4,'Carol',100);
Query OK, 1 row affected (0.20 sec)

テーブルに存在するレコードの数を確認します。

mysql> select *from GroupConcatenateDemo;

これが出力です。

+------+-----------+-------+
| id   | FirstName | Score |
+------+-----------+-------+
| 1    | John      | 94    |
| 2    | Bob       | 98    |
| 3    | Carol     | 100   |
+------+-----------+-------+
3 rows in set (0.00 sec)

GROUP_CONCATを使用するための構文

以下は、レコードを連結するための構文です。

Select column_name1,group_concat(concat(`Column_name2`,'separatorValue',`Column_name3`) separator 'separatorValue')
as AliasName yourTableName group by column_name1;

以下は例です。

mysql> SELECT
-> id,group_concat(concat(`FirstName`,':',`score`) separator ',')
-> as FirstNameAndScore from GroupConcatenateDemo group by id;

これは、レコードを正常に連結したことを示す出力です。

+------+-------------------+
| id   | FirstNameAndScore |
+------+-------------------+
| 1    | John:94           |
| 2    | Bob:98            |
| 3    | Carol:100         |
+------+-------------------+
3 rows in set (0.00 sec)

  1. MySQLでWITHROLLUPを正しく使用するにはどうすればよいですか?

    WITH ROLLUP-を使用するための構文は、次のとおりです。 select yourColumnName1,sum(yourColumnName2) from yourTableName  group by yourColumnName1 with rollup; まずテーブルを作成しましょう- mysql> create table DemoTable1622     -> (     -> EmployeeCountryName varchar(20),     -> EmployeeSal

  2. MySQLでCURDATEでCONTAINS()を使用するにはどうすればよいですか?

    このために、CONCAT()をCURDATE()とともに使用できます。MySQLにはCONTAINS()という名前の関数はありません。 まず、現在の日付を取得しましょう。現在の日付は次のとおりです- mysql> select curdate(); これにより、次の出力が生成されます- +------------+ | curdate()  | +------------+ | 2019-11-28 | +------------+ 1 row in set (0.00 sec) テーブルを作成します- mysql> create table DemoTable18