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

เลือกแถวแรกและแถวสุดท้ายจากผลลัพธ์ MySQL

ใช้ MIN() และ MAX() ร่วมกับ UNION ไวยากรณ์:

SELECT * FROM yourTableName WHERE yourColumnName = (SELECT MIN(yourColumnName) FROM yourTableName) UNION SELECT * FROM yourTableName WHERE yourColumnName = (SELECT MAX(yourColumnName) FROM yourTableName);

สร้างตาราง:

mysql> create table FirstAndLastDataDemo ( EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY, EmployeeName varchar(20), EmployeeAge int ); Query OK, 0 rows affected (0.59 sec)

แทรกข้อมูล 9 แถว...

แสดงข้อมูล:

mysql> select * from FirstAndLastDataDemo;

ผลลัพธ์

+------------+--------------+-------------+ | EmployeeId | EmployeeName | EmployeeAge | +------------+--------------+-------------+ | 1 | John | 23 | | 2 | Bob | 13 | | 3 | Larry | 24 | | 4 | Sam | 14 | | 5 | Mike | 31 | | 6 | James | 18 | | 7 | Maxwell | 28 | | 8 | David | 27 | | 9 | Chris | 22 | +------------+--------------+-------------+ 9 rows in set (0.00 sec)

คำสั่งดึงแถวแรกและสุดท้าย:

mysql> SELECT * FROM FirstAndLastDataDemo WHERE EmployeeId = (SELECT MIN(EmployeeId) FROM FirstAndLastDataDemo) UNION SELECT * FROM FirstAndLastDataDemo WHERE EmployeeId = (SELECT MAX(EmployeeId) FROM FirstAndLastDataDemo);

ผลลัพธ์

+------------+--------------+-------------+ | EmployeeId | EmployeeName | EmployeeAge | +------------+--------------+-------------+ | 1 | John | 23 | | 9 | Chris | 22 | +------------+--------------+-------------+ 2 rows in set (0.00 sec)