2011-08-31 3 views
7

드루팔 (Drupal에서 여러 행의 합계를 사용하여 간단한 선택을하고 싶지만 그 방법을 알아낼 수 없습니다. 나는 Drupal에서 질의를하는 더 많은 방법이 있다는 것을 알고있다. (그들 중 하나는 실제 질의를 작성하고 있지만, 나는 그것을 원하지 않는다.)Drupal - 행 합계를 얻는 방법

$query = db_select("node","n"); 
$query->fields("n", array("nid","likes" => "SUM(likes)")); 

그러나 분명히 드루팔 내 브래킷을 제거합니다 나는 다음과 같은 오류가 발생합니다 : 여기

코드 나는이되어

1054 Unknown column 'n.SUMlikes' in 'field list' 

이 사람이 나를 도울 수 있을까요? $query->sum()과 같은 것이 있습니까?

답변

16

당신은 식을 사용하는 것이 가장 좋은 선택이 될 것입니다 :

$query = db_select('node', 'n') 
    ->fields('n', array('nid')); 
$query->addExpression('SUM(likes)', 'likes'); 

첫 번째 인수는 별칭 두 번째는 표현이다.

도움이 되길 바랍니다.

+0

내가 찾던 바로 그거야. 고맙습니다. –

+0

어떻게 결과에 액세스 할 수 있습니까? $ query-> total? –

+0

// 다음은 완전한 구문입니다. $ query = db_select ('node', 'n') -> fields ('n', array ('nid')); $ query-> addExpression ('SUM (좋아요)', '좋아요'); $ query-> execute(); – qasimzee

관련 문제