列ごとにグループ化し、類似した値の合計を別の列に表示するMySQLクエリ
これには、GROUPBYHAVING句を使用します。
まずテーブルを作成しましょう-
mysql> create table DemoTable782 ( Name varchar(100), Score int ); Query OK, 0 rows affected (1.18 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable782 values('John',156); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable782 values('Carol',250); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable782 values('Bob',140); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable782 values('John',126); Query OK, 1 row affected (0.29 sec) mysql> insert into DemoTable782 values('John',140); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable782 values('Bob',280); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable782 values('Bob',250); Query OK, 1 row affected (0.41 sec) mysql> insert into DemoTable782 values('Carol',189); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable782 values('Carol',299); Query OK, 1 row affected (0.21 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable782;
これにより、次の出力が生成されます-
+-------+-------+ | Name | Score | +-------+-------+ | John | 156 | | Carol | 250 | | Bob | 140 | | John | 126 | | John | 140 | | Bob | 280 | | Bob | 250 | | Carol | 189 | | Carol | 299 | +-------+-------+ 9 rows in set (0.00 sec)
以下は、列ごとにグループ化し、類似した値の合計を表示するためのクエリです-
mysql> select Name,SUM(Score) AS Total from DemoTable782 group by Name HAVING Total > 500;
これにより、次の出力が生成されます-
+-------+-------+ | Name | Total | +-------+-------+ | Carol | 738 | | Bob | 670 | +-------+-------+ 2 rows in set (0.00 sec)
-
MySQLで列の値を個別のテキストと連結し、単一の列に表示します
最初にテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.93 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(101,'Chris'); Query OK, 1
-
多くの行の文字列を1つの行に結合し、対応するユーザーIDの合計を別の列に表示する単一のMySQLクエリ?
これには、GROUP_CONCAT()を使用できます。 SUM()を使用してユーザーIDを追加します。まずテーブルを作成しましょう- mysql> create table DemoTable1960 ( StudentId int, StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTa