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

หาอายุสูงสุดของนักเรียนที่ชื่อซ้ำกันใน MySQL

การหาค่าสูงสุด (MAX) แยกตามกลุ่มชื่อ

ใช้ GROUP BY StudentName ร่วมกับฟังก์ชันรวม MAX(StudentAge)

สร้างตารางและเพิ่มข้อมูล

mysql> CREATE TABLE DemoTable1964 (
    -> StudentName VARCHAR(20),
    -> StudentAge INT
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO DemoTable1964 VALUES('Chris', 23);
mysql> INSERT INTO DemoTable1964 VALUES('David', 34);
mysql> INSERT INTO DemoTable1964 VALUES('Chris', 27);
mysql> INSERT INTO DemoTable1964 VALUES('Sam', 31);
mysql> INSERT INTO DemoTable1964 VALUES('David', 32);
mysql> INSERT INTO DemoTable1964 VALUES('David', 37);

คำสั่ง SQL หาอายุสูงสุดแต่ละชื่อ

mysql> SELECT StudentName, MAX(StudentAge)
    -> FROM DemoTable1964
    -> GROUP BY StudentName;

ผลลัพธ์:

+-------------+-----------------+
| StudentName | max(StudentAge) |
+-------------+-----------------+
| Chris       | 27              |
| David       | 37              |
| Sam         | 31              |
+-------------+-----------------+

คำอธิบาย: GROUP BY จัดกลุ่มแถวที่ชื่อเหมือนกัน MAX() หาค่าสูงสุดในแต่ละกลุ่ม