>  기사  >  데이터 베이스  >  SQL에서 LIMIT를 사용하여 페이지 매김을 사용하는 경우에도 총 행 수를 어떻게 검색합니까?

SQL에서 LIMIT를 사용하여 페이지 매김을 사용하는 경우에도 총 행 수를 어떻게 검색합니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-27 15:29:01807검색
How do you retrieve the total number of rows even when using pagination with LIMIT in SQL? 
SQL_CALC_FOUND_ROWS 및 FOUND_ROWS()

MySQL 4.0.0부터는 기본 쿼리에서 SQL_CALC_FOUND_ROWS 옵션을 활용할 수 있습니다. LIMIT 절을 무시하면서 총 행 수를 계산하도록 MySQL에 알리기 위해. 이를 위해서는 행 수를 검색하기 위해 두 번째 쿼리를 실행해야 합니다. 그러나 이 쿼리는 일반적으로 기본 데이터 검색 쿼리보다 훨씬 간단하고 빠릅니다.

사용 방법은 다음과 같습니다.

첫 번째 쿼리 바로 다음의 두 번째 쿼리는 전체 행을 캡처합니다. FOUND_ROWS() 함수를 사용하여 계산합니다.

MySQL 8.0에서 더 이상 사용되지 않음

MySQL 버전 8.0.17 이상에서는 SQL_CALC_FOUND_ROWS 수정자 및 FOUND_ROWS() 함수가 더 이상 사용되지 않으며 향후 제거될 예정입니다. 향후 출시. 이제 MySQL 문서에서는 총 행 수를 얻기 위해 COUNT 대신 COUNT를 사용할 것을 권장합니다.
<code class="sql">SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10;
SELECT FOUND_ROWS();</code>

예:

결론

이러한 기술을 활용하면 LIMIT 절과 함께 페이지 매김을 사용하는 경우에도 총 행 수를 확인하여 쿼리 효율성을 높이고 코드를 간소화합니다.

위 내용은 SQL에서 LIMIT를 사용하여 페이지 매김을 사용하는 경우에도 총 행 수를 어떻게 검색합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.