찾다

 >  Q&A  >  본문

MariaDB 10의 FOUND_ROWS() 함수 관련 사용법 및 기능

<p>select 문에서 반환된 행 수를 필요로 하는 함수가 있습니다. 검색 끝에 FOUND_ROWS() 함수를 찾았습니다. 하지만 제 생각엔 그게 효과가 없을 것 같아요: </p> <pre class="brush:php;toolbar:false;">SELECT * FROM Tipfirme LIMIT 20; SELECT FOUND_ROWS();</pre> <p>찾은 값으로 항상 1을 반환하기 때문입니다. </p> <p>그러나 한 줄로 실행하면 작동합니다. </p> <pre class="brush:php;toolbar:false;">SELECT FOUND_ROWS() FROM (SELECT * FROM Tipfirme LIMIT 20) as T</pre> <p>제가 뭔가 잘못하고 있는 걸까요, 아니면 이 기능에 문제가 있는 걸까요? </p>
P粉670838735P粉670838735484일 전480

모든 응답(1)나는 대답할 것이다

  • P粉883278265

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

    FOUND_ROWS는 이전 요청(전체 select 문)에서 반환된 행 수를 반환합니다. 당신이 원하는 것 같네요:

    으아악

    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는 원하는 결과가 아닙니다. 하위 쿼리가 반환하는 것과 동일한 행 수를 반환하며, 각 행은 하위 쿼리의 행 수에 관계없이 이전에 실행된 select에서 반환된 행 수를 갖습니다.

    회신하다
    0
  • 취소회신하다