본문 바로가기
MySql

MySQL "mysql_query"결과에서 행 계산

by 베이스 공부 2020. 12. 10.
반응형

이 경우 :

$results = mysql_query("SELECT * FROM table_name WHERE id=$id");

필드 값이 "Private"또는 "Company"인 행 수를 확인하는 방법이 있습니까?

다른 쿼리를 수행하지 않고 찾은 "Private"및 "Company"레코드 수를 사용자에게 표시해야합니다. ( '비공개'또는 '회사'를 포함하는 'ad_type'이라는 열이 있습니다.

나는 이미 모든 행을 세는 mysql_num_rows를 알고 있습니다!

편집하다: 50 만개의 기록이 있습니다! 따라서 결과를 통한 반복이 느릴 수 있습니다. 어떻게 생각하십니까?

모든 도움에 감사드립니다 :)

 

해결 방법

 

위의 답변은 훌륭하지만 현재 확인 된 답변은 많은 양의 데이터를 처리하는 경우 매우 비효율적으로 작동합니다.

위 답변의 예 (Gal을 통해)

$results = mysql_query("SELECT *,(SELECT COUNT(*) FROM table_name WHERE column=$value) count FROM table_name WHERE id=$id");

좋고 모든 것이 좋고 필요한 것을 반환하지만 명백한 디자인 결함은 SQL 서버가 결과를 반환 한 다음 다시 반환하고 많은 양의 데이터에 대해 개수 만 보는 것이 매우 비효율적이라는 것입니다.

다음과 같이하십시오.

$results = mysql_query("SELECT * FROM table_name WHERE column=$value");
$num_rows = mysql_num_rows($result);

동일한 결과를 산출하고 장기적으로 더 많은 양의 데이터에 대해 훨씬 더 효율적입니다.

 

참조 페이지 https://stackoverflow.com/questions/2217349

 

 

반응형

댓글