Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: GROUP BY คอลัมน์ในอีกตารางหนึ่ง ด้วย CREATE TABLE AS SELECT


ใช้ CREATE TABLE AS SELECT ร่วมกับ GROUP BY เพื่อสร้างตารางใหม่จากข้อมูลที่จัดกลุ่มแล้ว

ตารางต้นทาง (DemoTable1)

mysql> CREATE TABLE DemoTable1 (Id INT AUTO_INCREMENT PRIMARY KEY, CountryName VARCHAR(20));
mysql> INSERT INTO DemoTable1(CountryName) VALUES ('US'),('UK'),('AUS'),('UK'),('UK'),('US'),('AUS');

ข้อมูล (มีซ้ำ)

+----+-------------+
| Id | CountryName |
+----+-------------+
| 1  | US          |
| 2  | UK          |
| 3  | AUS         |
| 4  | UK          |
| 5  | UK          |
| 6  | US          |
| 7  | AUS         |
+----+-------------+

สร้างตารางใหม่พร้อม GROUP BY

mysql> CREATE TABLE DemoTable2 AS SELECT * FROM DemoTable1 GROUP BY CountryName;

ผลลัพธ์ (DemoTable2 - ไม่ซ้ำ)

+----+-------------+
| Id | CountryName |
+----+-------------+
| 1  | US          |
| 2  | UK          |
| 3  | AUS         |
+----+-------------+