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

特定のレコードに基づいて値をグループ化および合計するためのMySQLクエリ


GROUP BYを使用してレコードをグループ化し、SUM()関数を使用して追加します。まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   Name varchar(40),
   Subject varchar(40),
   Marks int
);
Query OK, 0 rows affected (2.89 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('Chris','MySQL',76);
Query OK, 1 row affected (0.32 sec)
mysql> insert into DemoTable values('Sam','MongoDB',86);
Query OK, 1 row affected (0.39 sec)
mysql> insert into DemoTable values('Mike','MySQL',98);
Query OK, 1 row affected (0.46 sec)
mysql> insert into DemoTable values('David','Java',93);
Query OK, 1 row affected (0.32 sec)
mysql> insert into DemoTable values('Bob','MySQL',57);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('John','MongoDB',77);
Query OK, 1 row affected (0.17 sec)

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

mysql> select *from DemoTable;

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

+-------+---------+-------+
| Name  | Subject | Marks |
+-------+---------+-------+
| Chris | MySQL   |    76 |
| Sam   | MongoDB |    86 |
| Mike  | MySQL   |    98 |
| David | Java    |    93 |
| Bob   | MySQL   |    57 |
| John  | MongoDB |    77 |
+-------+---------+-------+
6 rows in set (0.00 sec)

以下は、SUBJECT-

に基づいて値をグループ化して合計するためのクエリです。
mysql> select Subject,SUM(Marks) from DemoTable group by Subject;

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

+---------+------------+
| Subject | SUM(Marks) |
+---------+------------+
| MySQL   |        231 |
| MongoDB |        163 |
| Java    |         93 |
+---------+------------+
3 rows in set (0.00 sec)

  1. 特定の列の値を修正し、MySQLの残りの行のランダムな値を表示します

    ランダムな行の場合はRAND()を使用できますが、特定の列を修正するにはORDERBY句を使用します。テーブルを作成しましょう- mysql> create table DemoTable1921    (    Number int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1921 values(40); Query OK, 1 row affecte

  2. MySQLの最初の3つの列の値に特定の値を設定しますか?

    最初の3つの値のみに特定の値を設定するには、LIMIT3を使用する必要があります。最初にテーブルを作成しましょう- mysql> create table DemoTable1968    (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Name varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> inser