2011-08-31 27 views
7

我想在Drupal中做一個簡單的選擇,其中有幾行的SUM,但我似乎無法弄清楚如何做到這一點。我知道有更多的方法在Drupal中進行查詢(其中一個是寫實際查詢,但我不想)。Drupal - 如何獲得SUM的行

下面是我的代碼有:

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

但很顯然,Drupal的剝離我的括號內,我收到以下錯誤:

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

我該如何訪問結果? $查詢 - >總? –

+0

//以下是爲我工作的完整語法 $ query = db_select('node','n') - > fields('n',array('nid')); $ query-> addExpression('SUM(likes)','likes'); $ query-> execute(); – qasimzee