我无法尝试检索max courseid
数据:
coursename courseid
---------- --------
0001_Course JAS9997
0002_Course JAS9998
0003_Course JAS9999
0004_Course JAS10000
Run Code Online (Sandbox Code Playgroud)
查询:
SELECT max(courseid) FROM tblcourse WHERE courseid LIKE '%JAS%'
Run Code Online (Sandbox Code Playgroud)
LIKE将缩小到以JAS开头的标准.
查询仅返回JAS9999作为最大结果,但最大courseid为JAS10000.我错过了什么吗?
它不能MAX对像这样的文本中嵌入的数字这样做.它按字母顺序排序,因此JAS9追求JAS1.您必须在子字符串上执行max:
MAX(CAST(SUBSTRING(courseid FROM 4) AS UNSIGNED))
Run Code Online (Sandbox Code Playgroud)