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

GROUP BY คอลัมน์ในตาราง MySQL อื่น


สำหรับสิ่งนี้ คุณสามารถใช้คำสั่ง CREATE TABLE AS SELECT ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1 -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> CountryName varchar(20) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.68 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1(CountryName) ('US');Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า DemoTable1(CountryName) ('UK');Query OK, 1 แถวได้รับผลกระทบ ( 0.27 วินาที) mysql> แทรกลงในค่า DemoTable1 (ชื่อประเทศ) ('AUS'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable1 (ชื่อประเทศ) ('สหราชอาณาจักร'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.13 วินาที) mysql> แทรกลงในค่า DemoTable1 (ชื่อประเทศ) ('สหราชอาณาจักร'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.06 วินาที) mysql> แทรกลงในค่า DemoTable1 (ชื่อประเทศ) ('US'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.10 วินาที) mysql> แทรกลงในค่า DemoTable1 (ชื่อประเทศ) ('AUS'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.10 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable1;

ผลลัพธ์

<ก่อนหน้า>+----+-------------+| รหัส | ชื่อประเทศ |+----+-------------+| 1 | สหรัฐอเมริกา || 2 | สหราชอาณาจักร || 3 | AUS || 4 | สหราชอาณาจักร || 5 | สหราชอาณาจักร || 6 | สหรัฐอเมริกา || 7 | AUS |+----+-------------+7 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามไปยัง GROUP BY คอลัมน์ในตารางอื่น -

mysql> สร้างตาราง DemoTable2 AS เลือก *จากกลุ่ม DemoTable ตามชื่อประเทศ ตกลง แบบสอบถาม 3 แถวได้รับผลกระทบ (0.79 วินาที) บันทึก:3 รายการซ้ำ:0 คำเตือน:0

ตอนนี้ตรวจสอบระเบียนในตารางใหม่ -

mysql> เลือก *จาก DemoTable2;

ผลลัพธ์

<ก่อนหน้า>+----+-------------+| รหัส | ชื่อประเทศ |+----+-------------+| 1 | สหรัฐอเมริกา || 2 | สหราชอาณาจักร || 3 | AUS |+----+-------------+3 แถวในชุด (0.00 วินาที)