Android SQL:从第二大ID中选择所有字段

Android SQL:从第二大ID中选择所有字段,android,sql,performance,sqlite,select,Android,Sql,Performance,Sqlite,Select,我的选择看起来像这样,它从最大的id返回字段 SELECT * FROM Pontos WHERE IdPonto = (SELECT MAX(IdPonto) FROM Pontos) 但现在我只想选择第二大字段。从Pontos中选择*其中Ipton=从Pontos ORDER中选择Ipton BY Ipton DESC LIMIT 1,1应该起作用。从Pontos中选择*其中Ipton=从Pontos ORDER中选择Ipton BY Ipton DESC LIMIT 1,1应该起作用。

我的选择看起来像这样,它从最大的id返回字段

SELECT * FROM Pontos WHERE IdPonto = (SELECT MAX(IdPonto) FROM Pontos) 

但现在我只想选择第二大字段。

从Pontos中选择*其中Ipton=从Pontos ORDER中选择Ipton BY Ipton DESC LIMIT 1,1应该起作用。

从Pontos中选择*其中Ipton=从Pontos ORDER中选择Ipton BY Ipton DESC LIMIT 1,1应该起作用。

这是一种方法:

SELECT * FROM Pontos ORDER BY Id DESC LIMIT 1 OFFSET 1
不太确定sqlite语法,但请阅读此SO线程以了解更多信息:


编辑:我认为在这种情况下没有必要运行嵌套查询。

这是一种方法:

SELECT * FROM Pontos ORDER BY Id DESC LIMIT 1 OFFSET 1
不太确定sqlite语法,但请阅读此SO线程以了解更多信息:


编辑:我认为在这种情况下没有必要运行嵌套查询。

这是用标准SQL编写的,它不使用限制和偏移量,应该可以工作:

SELECT * FROM Pontos WHERE IdPontos = (
    SELECT MAX(t1.IdPontos) FROM Pontos t1
    WHERE t1.IdPontos not in (SELECT MAX(IdPontos) FROM Pontos)
)

这是用标准SQL编写的,它不使用限制和偏移量,应该可以工作:

SELECT * FROM Pontos WHERE IdPontos = (
    SELECT MAX(t1.IdPontos) FROM Pontos t1
    WHERE t1.IdPontos not in (SELECT MAX(IdPontos) FROM Pontos)
)

我似乎在标准SQL和SQLite中完成这项工作

select * from Pontos where IdPonto < (select max(IdPonto) from Pontos) and IdPonto = (select max(IdPonto) from Pontos where IdPonto < (select max(IdPonto) from Pontos));

希望能有所帮助。

我似乎在标准SQL和SQLite中完成了这项工作

select * from Pontos where IdPonto < (select max(IdPonto) from Pontos) and IdPonto = (select max(IdPonto) from Pontos where IdPonto < (select max(IdPonto) from Pontos));
SELECT * FROM Pontos ORDER BY IdPonto DESC LIMIT 1,1

希望有帮助。

有效。。。但只需从Pontos ORDER中按IdPonto DESC LIMIT 1选择*即可,1具有相同的效果。。。但我已经做到了谢谢你的帮助。。。但只需从Pontos ORDER中按IdPonto DESC LIMIT 1选择*即可,1具有相同的效果。。。但我还是找到了,谢谢你的帮助
SELECT * FROM Pontos ORDER BY IdPonto DESC LIMIT 1,1