ホームページ  >  に質問  >  本文

MariaDB 10 の FOUND_ROWS() 関数の関連する使用法と関数

<p>select ステートメントによって返される行数を必要とする関数があります。いくつか検索した結果、FOUND_ROWS() 関数を見つけました。しかし、それはうまくいかないと思います: </p> <pre class="brush:php;toolbar:false;">SELECT * FROMtipfirme LIMIT 20; SELECT FOUND_ROWS();</pre> <p>見つかった値として常に 1 を返すためです。 </p> <p>ただし、1行で実行すると機能します。 </p> <pre class="brush:php;toolbar:false;">SELECT FOUND_ROWS() FROM (SELECT * FROMtipfirme LIMIT 20) as T</pre> <p>何か間違ったことをしているのでしょうか、それともこの機能に問題があるのでしょうか? </p>
P粉670838735P粉670838735418日前412

全員に返信(1)返信します

  • P粉883278265

    P粉8832782652023-08-29 09:48:52

    FOUND_ROWS は、前のリクエスト (select ステートメント全体) によって返された行数を返します。あなたはちょうど欲しいようです:

    リーリー

    select found_rows(); 単独で使用すると常に 1 が返されるとは限りません。テストしたいものをテストしていないのではないかと思います。 select * fromtipfirme limit 20; に続く場合は、select によって返された行数を返します (limit の後、または前の select sql_calc_found_rows を指定した場合は前)。

    SELECT FOUND_ROWS() FROM (SELECT * FROMtipfirme LIMIT 20) T は必要な結果ではありません。サブクエリが返すのと同じ数の行が返され、各行にはサブクエリ内の行数に関係なく、以前に実行された select によって返された行数。

    返事
    0
  • キャンセル返事