最後のレコードがレコード 35 の場合、テーブルのレコード 34 を取得するにはどうすればよいですか?
13663 次
2 に答える
22
最も簡単な方法
SELECT * FROM tab ORDER BY col DESC LIMIT 1,1
これは、2 番目の LIMIT 1,1 から始まる 1 つのレコードを選択します。最初にスキップして次を選択することを意味します
最後が最初になるように順序付けを行う必要があります。言及された列はおそらくidです
必要なレコードの番号がわかっている場合でも、id=34 を選択できないのはなぜですか?
于 2012-12-18T03:22:09.070 に答える
15
35 個のレコードがあることがわかっている場合は、 limit 1 offset 34
.
任意のセットから 2 番目の最後の要素を取得する場合は、セットの順序を逆にして、1 つの要素を選択し、1 つの要素をオフセットすることができます。これを自分で実装するには、最初に逆順のセットの最初の 2 つの要素を選択し、次にセットを逆にして最初の要素を選択します。
select * from
(select * from my_table order by id desc limit 2) table_alias
order by id limit 1
于 2012-12-18T03:22:09.997 に答える