반응형
이 경우 :
$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
반응형
'MySql' 카테고리의 다른 글
MySQL Perl의 DBI에 PHP의 mysql_real_escape_string ()과 동등한 것이 있습니까? (0) | 2020.12.10 |
---|---|
MySQL 여러 테이블에서 MySQL 삭제 행 (0) | 2020.12.10 |
MySQL Is there a MySQL command to convert a string to lowercase? (0) | 2020.12.10 |
MySQL mysql 조건부 삽입-존재하지 않는 경우 삽입 (0) | 2020.12.10 |
MySQL Google App Engine의 Datastore와 Cloud SQL (0) | 2020.12.09 |
댓글