我可以使用内部查询到内部查询的最大3rd最大或第n个最大ID?

时间:2018-07-10 06:14:28

标签: mysql sql mysqli

我的查询如下:

select max(id)
from crmtestregis
where id < (select max(id) from  crmtestregis where id <
    (select max(id) from crmtestregis));

请建议我内部查询最好还是其他选择最好?

2 个答案:

答案 0 :(得分:1)

我认为您可以在此处使用LIMITOFFSET

SELECT id
FROM crmtestregis
ORDER BY id DESC
LIMIT 1
OFFSET 2;

上面的查询将从顶部返回第三条记录,顺序为id降序。

如果您想使用第三高的 unique 值,则可以使用DISTINCT和类似的查询:

SELECT DISTINCT id
FROM crmtestregis
ORDER BY id DESC
LIMIT 1
OFFSET 2;

答案 1 :(得分:0)

SELECT id FROM crmtestregis
ORDER BY id DESC LIMIT n-1,1;

将n替换为“ N”个最大ID(MySQL)