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

MySQLを使用して、対応する重複値のレコードを別の列に追加します


このために、GROUP BY句とともに集計関数SUM()を使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Name varchar(20),
   -> Value int
   -> );
Query OK, 0 rows affected (2.08 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('Chris',50);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('David',90);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('Chris',60);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('Bob',100);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('David',80);
Query OK, 1 row affected (0.21 sec)

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

mysql> select * from DemoTable;

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

+-------+-------+
| Name  | Value |
+-------+-------+
| Chris | 50    |
| David | 90    |
| Chris | 60    |
| Bob   | 100   |
| David | 80    |
+-------+-------+
5 rows in set (0.00 sec)

以下は、別の列に重複する値からレコードを追加するためのクエリです-

mysql> select Name,sum(Value) as GrandTotal from DemoTable group by Name;

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

+-------+------------+
| Name  | GrandTotal |
+-------+------------+
| Chris |        110 |
| David |        170 |
| Bob   |        100 |
+-------+------------+
3 rows in set (0.03 sec)

  1. 重複する値を持つ別の列でMySQLグループのタイムスタンプから最初の日付を取得します

    このために、集計関数MIN()およびGROUPBYを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1870      (      Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,      Value int,      ShippingTimestamp varchar(100)      ); Query OK, 0 rows affect

  2. MySQLの対応する重複IDを持つ列(浮動値)から最小値を取得します

    対応する重複IDを持つ列から最小値を取得するには、GROUP BYおよびMIN()-を使用します select min(yourColumnName) from yourTableName group by yourColumnName; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2005 (    Id int,    Price float ); Query OK, 0 rows affected (0.71 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコ