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

หาค่า MAX และ MIN พร้อม Row ID ใน MySQL

ใช้ Subquery หา MAX/MIN แล้ว JOIN หรือ WHERE กลับมาเพื่อหา ID

ตัวอย่าง

mysql> create table DemoTable (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Number1 int,
    Number2 int
);
Query OK, 0 rows affected (0.89 sec)
mysql> insert into DemoTable(Number1,Number2) values(67,45); Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(Number1,Number2) values(90,40); Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(Number1,Number2) values(80,43); Query OK, 1 row affected (0.48 sec)

ข้อมูล

mysql> select * from DemoTable;
+----+---------+---------+
| Id | Number1 | Number2 |
+----+---------+---------+
| 1  | 67      | 45      |
| 2  | 90      | 40      |
| 3  | 80      | 43      |
+----+---------+---------+

หาแถวที่มี Number1 สูงสุด หรือ Number2 ต่ำสุด

mysql> select * from DemoTable where Number1 = (select max(Number1) from DemoTable) or Number2 = (select min(Number2) from DemoTable);
+----+---------+---------+
| Id | Number1 | Number2 |
+----+---------+---------+
| 2  | 90      | 40      |
+----+---------+---------+

แถวที่ 2 มี Number1 สูงสุด (90) และ Number2 ต่ำสุด (40) พร้อมกัน