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

MySQLでGROUPBYを使用して行を取得しますか?


まずテーブルを作成しましょう-

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Subject varchar(20),
   Price int
   );
Query OK, 0 rows affected (0.64 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(Subject,Price) values('MySQL',456);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(Subject,Price) values('MySQL',456);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(Subject,Price) values('MongoDB',56);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(Subject,Price) values('MongoDB',60);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(Subject,Price) values('Java',100);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(Subject,Price) values('Java',130);
Query OK, 1 row affected (0.15 sec)

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

mysql> select *from DemoTable;

出力

+----+---------+-------+
| Id | Subject | Price |
+----+---------+-------+
| 1  | MySQL   | 456   |
| 2  | MySQL   | 456   |
| 3  | MongoDB | 56    |
| 4  | MongoDB | 60    |
| 5  | Java    | 100   |
| 6  | Java    | 130   |
+----+---------+-------+
6 rows in set (0.00 sec)

これは、MySQLでGROUBBYを使用して行を取得するためのクエリです-

mysql> select sum(Price) AS Total, Subject from DemoTable group by Subject;

出力

+-------+---------+
| Total | Subject |
+-------+---------+
| 912   | MySQL   |
| 116   | MongoDB |
| 230   | Java    |
+-------+---------+
3 rows in set (0.04 sec)

  1. MySQL:Group Byでフィールドを更新しますか?

    GROUP BYでフィールドを更新するには、UPDATEコマンドでORDERBYLIMITを使用します- mysql> create table DemoTable2018    -> (    -> EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> EmployeeName varchar(20),    -> EmployeeSalary int    -> ); Query OK, 0 r

  2. MySQL-同じIDのSUM行?

    同じIDの行を合計するには、GROUPBYHAVING句を使用します。 テーブルを作成しましょう- 例 mysql> create table demo84    -> (    -> id int,    -> price int    -> )    -> ; Query OK, 0 rows affected (0.60 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql> insert into demo84