ใช้ MAX() ร่วมกับ SUBSTRING() และ LIKE เพื่อหาค่าสูงสุดในรูปแบบเฉพาะ
สร้างตารางตัวอย่าง
mysql> CREATE TABLE DemoTable (
-> Id VARCHAR(200)
-> );
เพิ่มข้อมูลตัวอย่าง
mysql> INSERT INTO DemoTable VALUES('2019-0515-1980');
mysql> INSERT INTO DemoTable VALUES('2019-0516-780');
mysql> INSERT INTO DemoTable VALUES('2019-0517-2780');
แสดงข้อมูล
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+----------------+ | Id | +----------------+ | 2019-0515-1980 | | 2019-0516-780 | | 2019-0517-2780 | +----------------+
คำสั่งหาค่าสูงสุดที่ขึ้นต้นด้วย 2019
mysql> SELECT MAX(Id) FROM DemoTable
-> WHERE Id LIKE CONCAT(SUBSTRING(Id, 1, 4), '%');
ผลลัพธ์:
+----------------+ | MAX(Id) | +----------------+ | 2019-0517-2780 | +----------------+
คำอธิบาย: SUBSTRING(Id, 1, 4) = '2019' | CONCAT(..., '%') = '2019%' | WHERE Id LIKE '2019%' กรองเฉพาะที่ขึ้นต้น 2019 | MAX() หาค่าสูงสุดแบบสตริง (lexicographic) ซึ่งในรูปแบบนี้ตรงกับตัวเลขมากที่สุด