我有一个具有以下结构的表:
ID |颜色
1|红色
2|蓝色
3|黄色
8|紫色
10|绿色
。
。
。
100|黄色
我希望能够获取前5行的最大ID值。
例如,我想这样做:从表限制5中选择MAX(ID)
希望这将返回值10
但是,MySQL不断返回100...its,就像MySQL甚至看不到LIMIT子句一样。
发布于 2009-07-19 19:57:47
听起来您想要选择前5条记录(按ID排序),然后获得该组中的最高值?如果是这样的话:
SELECT
MAX(ID)
FROM
(
SELECT ID
FROM YourTable
ORDER BY ID
LIMIT 5
) as T1 发布于 2011-06-02 19:01:12
要做到这一点,有比subselect更好的方法:
SELECT id FROM table LIMIT 4,1先得到一行,但先跳过4行。如果这是MyISAM表,则添加'order by id‘。
发布于 2009-07-19 19:54:54
使用子选择:
SELECT MAX(id) FROM (SELECT id FROM table LIMIT 5);这可能不是有效的SQL,但是应该可以让您大致了解一下。
https://stackoverflow.com/questions/1150715
复制相似问题