MySQLのGROUP_CONCAT()を使用して、複数の行のデータを連結しますか?
mysql> create table DemoTable (CountryName varchar(100)); Query OK, 0 rows affected (1.01 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('US'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable values('AUS'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('UK'); Query OK, 1 row affected (0.19 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-------------+ | CountryName | +-------------+ | US | | AUS | | UK | +-------------+ 3 rows in set (0.00 sec)
これは、複数の行を連結するためのクエリです。プロシージャを作成しています-
mysql> DELIMITER // mysql> CREATE PROCEDURE searchDemo(in stringValue varchar(255), out output text) BEGIN select group_concat(distinct CountryName order by CountryName) into output from DemoTable where CountryName like stringValue; END // Query OK, 0 rows affected (0.18 sec) mysql> DELIMITER ;
callコマンドを使用してストアドプロシージャを呼び出します-
mysql> call searchDemo('U%',@output); Query OK, 1 row affected, 2 warnings (0.04 sec)
変数@output-
の値を確認しましょうmysql> select @output;
これにより、次の出力が生成されます-
+---------+ | @output | +---------+ | UK,US | +---------+ 1 row in set (0.00 sec)
-
複数のテーブルのデータを使用してMySQLビューを作成するにはどうすればよいですか?
MySQL UNION演算子は、2つ以上の結果セットを組み合わせることができるため、UNION演算子を使用して、複数のテーブルのデータを含むビューを作成できます。この概念を理解するために、次のデータを持つベーステーブル「Student_info」と「Student_detail」を使用しています- mysql> Select * from Student_info; +------+---------+------------+------------+ | id | Name | Address | Subject &n
-
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),(