6

最大IDを選択するときに、最後から2番目のレコードを取得するために使用できる簡単なクエリがあるかどうか疑問に思っています。

SELECT MAX(`EventID`) FROM `event`;

ありがとうございました

4

5 に答える 5

10

使用できます:編集:(より良いビルの提案を追加)

SELECT (`EventID`) FROM 'event' ORDER BY 'EventID' DESC LIMIT 1 OFFSET 1

また:

SELECT `EventID` FROM (SELECT (`EventID`) FROM 'event' ORDER BY 'EventID' DESC LIMIT 2) ORDER BY 'EventID' ASC LIMIT 1

このソリューションはより一般的で、EventID 列にギャップがある場合にも機能します

于 2013-07-08T19:50:23.103 に答える
6
SELECT MAX(EventID)
FROM   event
WHERE  EventID<(SELECT MAX(EventID) FROM event)
于 2013-07-08T19:50:37.840 に答える
0
select max(billno) from bill_information

ここに画像の説明を入力

解決

select max(billno) from bill_information where billno <(select max(billno) from bill_information)

ここに画像の説明を入力


これは、請求ソフトウェアを作成する場合に役立ちます。billno (インデックス付きの主キー) が削除され、billno の間の billno が必要であること

--213763 billno
select max(billno) from bill_information where billno <213763

ここに画像の説明を入力

于 2022-01-05T11:50:27.623 に答える
-2

私はこれに似たようなことをしました

$query_anakuklwsh = "SELECT * FROM anakuklwsh WHERE id=".$row_anakuklwsh['id']." -1";

于 2014-07-17T12:44:56.433 に答える
-3

私は実際にそれを理解することができました

  SELECT MAX(`EventID`) FROM `event` WHERE `EventID` = (SELECT MAX(`EventID`) -1 FROM `event`);
于 2013-07-08T19:46:36.313 に答える