Rumah  >  Soal Jawab  >  teks badan

Penggunaan dan fungsi berkaitan fungsi FOUND_ROWS() dalam MariaDB 10

<p>Saya mempunyai fungsi yang memerlukan bilangan baris yang dikembalikan melalui pernyataan pilih. Selepas beberapa carian, saya menemui fungsi FOUND_ROWS(). Tetapi saya rasa ia tidak berkesan: </p> <pre class="brush:php;toolbar:false;">PILIH * DARI tipfirme LIMIT 20; PILIH FOUND_ROWS();</pre> <p>Kerana ia sentiasa mengembalikan 1 sebagai nilai yang ditemui. </p> <p>Walau bagaimanapun, jika saya menjalankannya dalam satu baris, ia berfungsi. </p> <pre class="brush:php;toolbar:false;">SELECT FOUND_ROWS() FROM (SELECT * FROM tipfirme LIMIT 20) sebagai T</pre> <p>Adakah saya melakukan sesuatu yang salah atau ada sesuatu yang salah dengan fungsi ini? </p>
P粉670838735P粉670838735419 hari yang lalu420

membalas semua(1)saya akan balas

  • P粉883278265

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

    FOUND_ROWS mengembalikan bilangan baris yang dikembalikan oleh permintaan sebelumnya (keseluruhan pernyataan pilihan). Nampaknya anda hanya mahu:

    select count(1) from (select * From tipfirme limit 20) as T

    select found_rows();单独使用不总是返回1;我怀疑你没有测试你想要测试的内容。如果它紧跟在select * from tipfirme limit 20;之后,它确实会返回select返回的行数(在limit之后,或者在之前如果你在前一个select中指定了sql_calc_found_rows).

    SELECT FOUND_ROWS() FROM (SELECT * FROM tipfirme LIMIT 20) as T bukan hasil yang anda mahukan; ia akan mengembalikan bilangan baris yang sama seperti subkueri yang dikembalikan, dan setiap baris akan mempunyai bilangan baris yang dikembalikan oleh yang dilaksanakan sebelum ini pilih, tanpa mengira bilangan baris dalam subkueri.

    balas
    0
  • Batalbalas