Maison  >  Questions et réponses  >  le corps du texte

Utilisation et fonctions associées de la fonction FOUND_ROWS() dans MariaDB 10

<p>J'ai une fonction qui a besoin du nombre de lignes renvoyées par une instruction select. Après quelques recherches, j'ai trouvé la fonction FOUND_ROWS(). Mais je ne pense pas que ça marche : </p> <pre class="brush:php;toolbar:false;">SELECT * FROM tipfirme LIMIT 20; SELECT FOUND_ROWS();</pre> <p>Parce qu'il renvoie toujours 1 comme valeur trouvée. </p> <p>Cependant, si je l'exécute sur une seule ligne, cela fonctionne. </p> <pre class="brush:php;toolbar:false;">SELECT FOUND_ROWS() FROM (SELECT * FROM tipfirme LIMIT 20) as T</pre> <p>Est-ce que je fais quelque chose de mal ou y a-t-il un problème avec cette fonction ? </p>
P粉670838735P粉670838735419 Il y a quelques jours419

répondre à tous(1)je répondrai

  • P粉883278265

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

    FOUND_ROWS renvoie le nombre de lignes renvoyées par la requête précédente (l'intégralité de l'instruction select). On dirait que vous voulez juste :

    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 n'est pas le résultat souhaité ; il renverra le même nombre de lignes que celui renvoyé par la sous-requête, et chaque ligne aura le nombre de lignes renvoyées par la select précédemment exécutée, quel que soit le nombre de lignes dans la sous-requête.

    répondre
    0
  • Annulerrépondre