X行をキャッチしたいので、LIMIT X
;しかし、どうすれば同時に行の総数も数えることができますか?
現在、私は2つの別々のクエリを使用してそうしています
SELECT COUNT(*) FROM col WHERE CLAUSE
SELECT * FROM col WHERE CLAUSE LIMIT X
これを1つのクエリで行う方法はありますか?
編集:出力はcol
セルと行数である必要があります。実際、col
セルを選択した後は、テーブル上を移動してカウントのみを行う必要があります。
最初の行は1行を返し、2番目のX行を返すため、これらの2つのクエリをマージすることはできません。 LIMIT
の存在下で行数を返す関数がmysqlにあるかどうか、私は気になります。
LIMITを実行したいようですが、LIMITなしで返される行数はわかっています。チェックアウト FOUND ROWS
SELECTクエリで_SQL_CALC_FOUND_ROWS
_を使用してから、SELECT FOUND_ROWS()
を実行します。
_SELECT SQL_CALC_FOUND_ROWS field_name,filed_name2 FROM col WHERE CLAUSE LIMIT X;
SELECT FOUND_ROWS() ;
_
私はこれが古いものであることを知っていますが、MySQL> = 8.0.17の場合、もう有効ではありませんcf MySQL Function Found_Rows() したがって、両方のクエリを発行する必要があります。残念ながらCOUNT()
で追加してください。