MySQL GROUP BYを使用してグループごとにすべての行を一覧表示しますか?
すべての行をグループ別に一覧表示するには、GROUP_CONCAT()を使用できます。まずテーブルを作成しましょう-
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Value varchar(100) ); Query OK, 0 rows affected (0.62 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable(Name,Value) values('John','John'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable(Name,Value) values('Carol','Carol'); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable(Name,Value) values('John','Works'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable(Name,Value) values('Carol','Works'); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable(Name,Value) values('John','At'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable(Name,Value) values('Carol','At'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable(Name,Value) values('John','Amazon'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable(Name,Value) values('Carol','Google'); Query OK, 1 row affected (0.16 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+----+-------+--------+ | Id | Name | Value | +----+-------+--------+ | 1 | John | John | | 2 | Carol | Carol | | 3 | John | Works | | 4 | Carol | Works | | 5 | John | At | | 6 | Carol | At | | 7 | John | Amazon | | 8 | Carol | Google | +----+-------+--------+ 8 rows in set (0.00 sec)
以下は、グループごとにすべての行を一覧表示するためのクエリです。ここでは、「John」の値が取得されます。つまり、「John Works At Amazon from id 1、3、5、7。同様に、「Carol」でも機能します-
mysql> select Name, GROUP_CONCAT(Value SEPARATOR ' ') AS `Complete_Status` from DemoTable group by Name;
これにより、次の出力が生成されます-
+-------+-----------------------+ | Name | Complete_Status | +-------+-----------------------+ | Carol | Carol Works At Google | | John | John Works At Amazon | +-------+-----------------------+ 2 rows in set (0.00 sec)
-
動的配列を使用したMySQLLIKEクエリ?
動的配列を使用してLIKEクエリを実装するための構文は、次のとおりです- 例 select *from yourTableName where yourColumnName2 like "%yourValue%" order by yourColumnName1 asc limit yourLimitValue; テーブルを作成しましょう- 例 mysql> create table demo74 -> ( -> user_i
-
MySQL-同じIDのSUM行?
同じIDの行を合計するには、GROUPBYHAVING句を使用します。 テーブルを作成しましょう- 例 mysql> create table demo84 -> ( -> id int, -> price int -> ) -> ; Query OK, 0 rows affected (0.60 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql> insert into demo84