Drupal - 如何获得行的SUM

Edu*_*uca 7 php mysql database drupal drupal-7

我想在Drupal中用几行的SUM做一个简单的选择,但我似乎无法弄清楚如何做到这一点.我知道有更多方法可以在Drupal中进行查询(其中一个是编写实际查询,但我不想这样).

这是我的代码:

$query = db_select("node","n");
$query->fields("n", array("nid","likes" => "SUM(likes)"));
Run Code Online (Sandbox Code Playgroud)

但显然Drupal剥离了我的括号,我收到以下错误:

1054 Unknown column 'n.SUMlikes' in 'field list'
Run Code Online (Sandbox Code Playgroud)

谁能帮助我?有类似的东西$query->sum()吗?

Cli*_*ive 17

你最好使用一个表达式:

$query = db_select('node', 'n')
  ->fields('n', array('nid'));
$query->addExpression('SUM(likes)', 'likes');
Run Code Online (Sandbox Code Playgroud)

第一个参数是表达式,第二个参数是别名.

希望有所帮助