特殊文字で区切られた単一の行に類似した対応するIDを持つレコードを連結するMySQLクエリ
このために、GROUP_CONCAT()と一緒にCONCAT_WS()を使用できます。まず
を作成しましょうmysql> create table DemoTable2016 -> ( -> UserId int, -> UserName varchar(20) -> ); Query OK, 0 rows affected (0.51 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable2016 values(1,'Chris'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable2016 values(2,'Bob'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable2016 values(1,'David'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable2016 values(2,'Carol'); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable2016 values(1,'Sam'); Query OK, 1 row affected (0.14 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable2016;
これにより、次の出力が生成されます-
+--------+----------+ | UserId | UserName | +--------+----------+ | 1 | Chris | | 2 | Bob | | 1 | David | | 2 | Carol | | 1 | Sam | +--------+----------+ 5 rows in set (0.00 sec)
これは、特殊文字で区切られた行のレコードを連結するためのクエリです-
mysql> select group_concat(concat_ws('-',UserName,UserId)) from DemoTable2016 group by UserId;
これにより、次の出力が生成されます-
+----------------------------------------------+ | group_concat(concat_ws('-',UserName,UserId)) | +----------------------------------------------+ | Chris-1,David-1,Sam-1 | | Bob-2,Carol-2 | +----------------------------------------------+ 2 rows in set (0.00 sec)
-
MySQLは1つのクエリで複数のレコードを更新しますか?
まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Marks1 int, -> Marks2 int, -> Marks3 int -> ); Query OK, 0 rows affected (0.60 sec) 挿入コマンド-を使用して、テー
-
単一のクエリでIN()を使用してMySQLテーブルからレコードを削除する
テーブルを作成しましょう- mysql> create table DemoTable1922 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1922(StudentNa