1
順序集合の最後の行が必要な場合は、通常、派生テーブルを作成して順序を変更します。例えば、自動でテーブルの最後の3つの要素を返すようにid
をインクリメント:サブクエリ結果でLIMITを使用できますか?
SELECT * FROM (
SELECT * FROM table ORDER BY id DESC LIMIT 3
) t ORDER BY t.id
LIMIT
もオフセットしていることができますので、我々は行(たとえば10)の数を知っていれば、同じ結果を達成することができましたこのクエリで事前に:
SELECT * FROM table ORDER BY id LIMIT 3 OFFSET 7
はそれがcount(*)
にテーブルをサブクエリを実行し、動的にその番号を使用してLIMIT
を構築することは可能ですか?
SELECT * FROM table ORDER BY id LIMIT 3 OFFSET [ select count() -3 ]
いいえ、 'LIMIT'パラメータはリテラルでなければならず、式にすることはできません。制限を動的に計算する必要がある場合は、ストアード・プロシージャー内の準備済み照会でそれを行うか、クライアント言語で行う必要があります。 – Barmar
私はここで大声で考えていますが、おそらく 'HAVING'を' COUNT() 'と併用することができます。私はその理論をテストしなければならないだろう。 –
可能な複製http://stackoverflow.com/questions/41149708/using-as-to-avoid-same-query-mysql/41150070#41150070 –