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

时间:2009-07-19 19:49:47

标签: mysql limit max

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

ID |颜色

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



100 |黄色

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

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

希望这会返回值10

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

4 个答案:

答案 0 :(得分:20)

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

SELECT
    MAX(ID)
FROM
    ( 
         SELECT ID 
         FROM YourTable
         ORDER BY ID
         LIMIT 5
    ) as T1 

答案 1 :(得分:10)

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

SELECT id FROM table LIMIT 4,1

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

答案 2 :(得分:1)

使用子选择:

SELECT MAX(id) FROM (SELECT id FROM table LIMIT 5);

这可能不是一个有效的SQL,但这应该给你一个大致的想法。

答案 3 :(得分:-1)

如果您的表格具有以下结构

ID | Color

1 | red
2 | blue
3 | yellow
8 | purple
10| green
.
.
.
100|yellow

前5个(AUTO_INCREMENT?)值的MAX ID值是5。 顺便说一下,前6个值的MAX ID值是6.而所有值都是100。 最好的问候。