質問: MySQL - COUNTとLIMIT関数を併用する 私は14のエントリでテーブル 'Labs'を持っています。 `SELECT COUNT(Labs.sid)FROM Labs LIMIT 0、18446744073709551615` というクエリは "14"を返します。 しかし、 `SELECT COUNT(Labs.sid)FROM Labs LIMIT 1、18446744073709551615` というクエリは "0"を返します。実際には、LIMITローオフセット値2、3、4などを設定すると、 "0"が返されます。 どうしてこれなの? mysqlを使って指定されたオフセットの後に行の数を決定する方法はありますか? FWIW MySQL 5.5.9とInnoDBデータベースエンジンを使用しています。
回答: このカウントは、カウントが実行された後に適用されます。 代わりにこれを試してください: ``` SELECT COUNT(sid) FROM ( SELECT sid FROM Labs LIMIT 2, 18446744073709551615 ) T1 ``` ORDER BYを使用しないでLIMITを使用することは悪い考えです。なぜなら、順序が一貫していることを保証できないため、毎回異なる行を選択できるようにすることです( `sid` ヌル)。