我可以使用inner query进入第3rd max或nth max id的内部查询吗?

brvekthn  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(244)

我的问题如下:

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

请建议我内部查询是最好的还是其他一些选项是最好的?

9gm1akwq

9gm1akwq1#

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

将n替换为'n'max id(mysql)

lsmd5eda

lsmd5eda2#

我想你可以用 LIMIT 以及 OFFSET 在这里:

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

上面的查询将返回顶部的第三条记录,顺序为 id 下降。
如果您想要第三高的唯一值,那么我们可以使用 DISTINCT 还有一个类似的问题:

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

相关问题