选择最大ID减一(第二行最后一行)

Dea*_*ano 2 mysql

只是想知道是否有一个简单的查询,我可以用它来选择最大ID时获得倒数第二个记录.

SELECT MAX(`EventID`) FROM `event`;
Run Code Online (Sandbox Code Playgroud)

谢谢

Ron*_*obi 8

您可以使用:编辑:(添加比尔的建议哪个更好)

SELECT (`EventID`) FROM 'event' ORDER BY 'EventID' DESC LIMIT 1 OFFSET 1
Run Code Online (Sandbox Code Playgroud)

要么:

SELECT `EventID` FROM (SELECT (`EventID`) FROM 'event' ORDER BY 'EventID' DESC LIMIT 2) ORDER BY 'EventID' ASC LIMIT 1
Run Code Online (Sandbox Code Playgroud)

此解决方案更为通用,如果您的EventID列存在空白,也可以使用此解决方案

  • +1,但您可以通过使用 LIMIT 和 OFFSET 来实现此目的,而无需子查询。 (2认同)

fth*_*lla 6

SELECT MAX(EventID)
FROM   event
WHERE  EventID<(SELECT MAX(EventID) FROM event)
Run Code Online (Sandbox Code Playgroud)


Dea*_*ano -3

我实际上设法弄清楚了

  SELECT MAX(`EventID`) FROM `event` WHERE `EventID` = (SELECT MAX(`EventID`) -1 FROM `event`);
Run Code Online (Sandbox Code Playgroud)

  • 直到出现一个包含“4,5,6”的序列,但“5”被删除了。 (2认同)