如何在MySQL中一起使用MAX和LIMIT

7 mysql max limit

我有一个具有以下结构的表:

ID | 颜色

1 | 红
2 | 蓝色
3 | 黄
8 | 紫色
10 | 绿色
.
.
.
100 |黄色

我希望能够获取前5行的MAX ID值.

例如,我想这样做:从表限制5中选择MAX(ID)

希望这会返回值10

但是,MySQL不断返回100 ......就像MySQL甚至没有看到LIMIT子句.

gah*_*ooa 21

听起来你想要选择前5个记录(按ID排序),然后获得该组的最高值?如果是这样:

SELECT
    MAX(ID)
FROM
    ( 
         SELECT ID 
         FROM YourTable
         ORDER BY ID
         LIMIT 5
    ) as T1 
Run Code Online (Sandbox Code Playgroud)


小智 10

除了subselect之外,还有更好的方法:

SELECT id FROM table LIMIT 4,1
Run Code Online (Sandbox Code Playgroud)

获取一行但首先跳过4 ..如果这是MyISAM表,请添加'按ID排序'.

  • 这适合我.我认为这个答案被低估了. (2认同)