2011-11-16 4 views
10

は、私は結果を注文したいテーブルリードからデータを選択し、0のオフセットで5に結果を制限するためのMySQLクエリオフセットとMySQLクエリには限界が

SELECT * FROM lead LIMIT 5 OFFSET 0 

を有しますそのIDによってdescによって、結果は最後に追加されたデータとして最初に取り込まれます。

私は...間違っている私を修正してくださいと何をすべきか

SELECT * FROM lead LIMIT 5 OFFSET 0 order by id desc 

が、そのが動作していないを試してみました。

ありがとうございます。

答えて

29

マニュアル(http://dev.mysql.com/doc/refman/5.0/en/select.html)は、そのLIMITのみORDER BYの後に表示されるように許可されて説明します。

+0

ありがとうDennis ..!それは働いた:) –

+0

@Bala:忘れないでください答えとして私の答えを記入する:D – Dennis

+0

行く4分: –

3

ORDER BY句はLIMIT句の前にあります。最初にレコードセットを注文してから制限を適用する必要があるため、これは理にかなっています。

SELECT * FROM lead ORDER BY id DESC LIMIT 0, 5 

あなたはLIMIT offset, row_ count構文またはLIMIT row_count OFFSET offsetのいずれかを使用することができます。

チェック:

select * from lead order by id desc LIMIT 5 OFFSET 0 

にあなたが持っている http://dev.mysql.com/doc/refman/5.0/en/select.html

+0

コードに追加する前にphpMyAdminで試しました。上記のクエリでエラーが発生しています。 : –

+0

@Bala:私たちのテーブル構造を見せてもらえますか? – Dennis

+0

申し訳ありませんが、私の過ち私が使用したLIMITの括弧は無効です: -/ – CodeZombie

関連する問題