2011-08-31 2 views
7

私はDrupalでいくつかの行の合計で単純な選択をしたいが、私はそれを行う方法を理解できないようだ。私はDrupalでクエリを実行する方法が増えていることを知っています(そのうちの1つは実際のクエリを記述していますが、私はそれを望んでいません)。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

どうすれば結果にアクセスできますか? $ query-> total? –

+0

//以下は完全な構文です。 $ query = db_select( 'node'、 'n') - > fields( 'n'、array( 'nid')); $ query-> addExpression( 'SUM(likes)'、 'likes'); $ query-> execute(); – qasimzee

関連する問題