2013-10-28 5 views
0

나는 만들고있는 wordpress 데이터베이스 쿼리에서 $data으로 반환되는 행의 수를 계산하려고합니다. 아래 참조mysql 쿼리의 행 계산하기

$data = $wpdb->get_results($wpdb->prepare("SELECT * FROM table WHERE wordpress_id=%d",get_current_user_id()),ARRAY_A); 

내가 겪고있는 것처럼 보이는 문제는 준비된 문을 사용하는 것입니다. 나는 배열을 통과하고 그것들을 집계하기위한 반복문을 작성할 수있을 것이라고 생각하지만 이것을하기위한 더 우아한 방법이 있는가?

미리 감사드립니다.

+3

SELECT COUNT (*). 데이터베이스가 당신을 위해 일하게하십시오. 카운트를 얻기 위해 모든 데이터를 와이어로 버릴 필요가 없습니다. –

+3

^^ 또는'count ($ data)'는 카운트를 제공합니다. – xbonez

+0

@xbonez 와우, 쉬웠다. 많은 감사. 그건 내가 찾고 있던 바로 그 것이다. 공식적인 답변으로 자유롭게 기재하여 신용을 얻을 수 있습니다. – neanderslob

답변

2

카운트 만 필요한 경우 SQL 쿼리를 SELECT COUNT(*) as count ...으로 변경하십시오. 이는 데이터베이스 자체에서 카운팅이 수행되고 네트워크를 통해 모든 데이터를 가져 오지 않으므로 효율적입니다.

그러나 데이터와 카운트가 모두 필요한 경우 데이터를 그대로 가져오고 count($data)을 실행하여 계산하십시오.

참조 : FROM count() ...``

+0

모든 레코드에 대해'count '를 원한다면,'count (*)'와 LIMIT가없는 곳의 첫 번째 쿼리와' limit "과 적절한 컬럼 이름 (또는'*')을 사용한다. – Seti