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

MySQLで行をマージする方法は?


MySQLで行をマージするには、GROUP_CONCAT()を使用します。

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

mysql> create table DemoTable734 (
   Id int,
   Name varchar(100)
);
Query OK, 0 rows affected (0.73 sec)

挿入コマンドを使用してテーブルにいくつかのレコードを挿入します-

mysql> insert into DemoTable734 values(101,'John');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable734 values(102,'John');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable734 values(103,'Chris');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable734 values(104,'Chris');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable734 values(104,'Chris');
Query OK, 1 row affected (0.13 sec)

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

mysql> select *from DemoTable734;

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

+------+-------+
| Id   | Name  |
+------+-------+
| 101  | John  |
| 102  | John  |
| 103  | Chris |
| 104  | Chris |
| 104  | Chris |
+------+-------+
5 rows in set (0.00 sec)

以下は、行をマージするためのクエリです-

mysql> select Name,group_concat(Distinct Id SEPARATOR ',') from DemoTable734 group by Name;

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

+-------+-----------------------------------------+
| Name  | group_concat(Distinct Id SEPARATOR ',') |
+-------+-----------------------------------------+
| Chris | 103,104                                 |
| John  | 101,102                                 |
+-------+-----------------------------------------+
2 rows in set (0.04 sec)

  1. MySQLでアポストロフィ(')をエスケープする方法は?

    MySQLのアポストロフィ(‘)は、次の2つの方法でエスケープできます- バックスラッシュを使用できます。 一重引用符を2回使用できます(二重引用符) 円記号を使用する まずテーブルを作成しましょう。 ); Query OK, 0 rows affected (1.16 sec) 次の直接使用では、「John’s」という名前に望ましい結果は得られません。 ここで、バックスラッシュを使用しましょう。 insert into SingleQuotesDemo values(1,John\s); Query OK, 1 row affected (0.19 sec) レコード

  2. MySQLから最後の10行を選択するにはどうすればよいですか?

    MySQLから最後の10行を選択するには、SELECTステートメントとLimitの概念でサブクエリを使用できます。以下は例です。 テーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) テーブルにレコードを挿入します。 mysql> insert into Last10RecordsDemo values(1,John),(