当ブログの記事は(特に公開直後は)頻繁に改定される場合があることをご了承ください。Server超小ネタ。データを問い合わせるアプリを作るとき、データはページングして一定量ずつ返しながらも、総件数は欲しいっていうこと、ありますよね。総件数を別のクエリで取得してもいいですが、こうやると、1回のクエリで取れるんですって。ONLY;知らなかったー。列が日付などで、厳密に行を一意に特定しない場合、同じ値を持つ行の順番は不定になり得ます。その場合、主キーなどの必ず一意になる列を併用してソートします。秒くらいかかりました。句で絞り込みましょうという記事を複数見かけます。そもそも、行番号だけに頼っていると、1ページ目のクエリと2ページ目のクエリの間でデータが追加されたり削除されたりした場合に、ページ境界で抜けや重複が発生することがあるので、行の値に基づくページングの方が望ましいとされます。ページングすると、総件数が取れなくなっちゃうんですよね。句には、何か別の条件がついていると思います。WHERE(こっちは総件数に影響してほしくない)が混在してしまうのが良くないですね。いうわけで、こんな風にしてみたり。id;でも、先の例と大してスピードが変わりませんでした。使った場合でも、スキップする件数や1ページ当たりの件数には影響されませんでした。前のやつより爆速でした。取得した総件数が、2回目のクエリの(潜在的)件数と厳密には一致しない可能性もありますが、まぁ、総件数とか参考情報だし、問題にはならないよね...?というわけでおしえてえろいひと。