2010-04-05 7 views
1

해당 쿼리의 최대 개수를 반환하는 동안 여러 행을 가져 오기 위해 내 쿼리를 가져 오려고합니다.Count for Count

내 쿼리 :

SELECT *, COUNT(*) as Max FROM tableA LIMIT 0 , 30 

그러나, 그것은 단지 한 기록을 출력한다.

나는 그것이 다음 쿼리이었다로 여러 기록을 반환하고 싶은

:

SELECT * FROM tableA LIMIT 0 , 30 

내가 별도의 쿼리를 사용해야합니까?

답변

1

별도의 쿼리를 사용하십시오.

구조가 다른 두 개의 정보 조각입니다. 하나는 행 집합이고 다른 하나는 단일 값입니다. 가능하다면이 두 가지 정보를 하나의 쿼리로 모두 반환하는 것은 좋은 생각이 아닙니다.

1

글쎄, 당신은뿐만 아니라 LIMIT를 사용하여, 그 안에 SQL_CALC_FOUND_ROWS 기능을 단일 쿼리를 사용할 수 있습니다. 당신에게 해당 쿼리를 통해 발견 총 행의 수 (당신이 LIMIT를 사용하거나 상관없이 돌아갑니다

mysql_query("SELECT FOUND_ROWS()"); 

: 당신이는 mysql_query()를 통해 첫 번째 쿼리를 실행하는 동안 그래서, 당신은 또한 다른 쿼리를 실행할 수 있습니다 SELECT FOUND_ROWS()는 쿼리에 언급 된 LIMIT없이 결과를 제공합니다.

SELECT SQL_CALC_FOUND_ROWS * FROM tbl_abc 

감사

: 다음

샘플 쿼리입니다