我有一个varchar字段,它是字母代码并且是自动递增的(manualy),所以在A之后是B直到Z变为AA之后,依此类推.
我的问题是当我点击AA并尝试选择此字段的MAX时:
SELECT MAX(letter) from jobs
Run Code Online (Sandbox Code Playgroud)
返回Z而不是AA.如果您要订购名称,这是正确的,但我有一个代码.有办法做到这一点吗?
试试这个吧.这会强制它将较长的字符串加权为高于较短的字符串:
SELECT letter
FROM jobs
ORDER BY LENGTH(letter) DESC, letter DESC
LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
编辑:是的,忘记对DESC进行排序以获得MAX ...
这可能有帮助吗?首先按长度排序,然后按字母排序。
SELECT letter FROM jobs
ORDER BY LENGTH(letter) DESC, letter DESC
LIMIT 0, 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2660 次 |
| 最近记录: |