我有一个具有以下结构的表:
1 |红
2 |蓝色
3 |黄
8 |紫色
10 |绿色
。
。
。
100 |黄色
我希望能够获取前5行的MAX ID值。
例如,我想做这样的事情: 从表限制5中选择MAX(ID)
希望这会返回值10
但是,MySQL不断返回100 ......就像MySQL甚至没有看到LIMIT子句一样。
答案 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。 最好的问候。