Drupal - Как получить сумму строк - PullRequest
7 голосов
/ 31 августа 2011

Я хочу сделать простой выбор с суммой из нескольких строк в Drupal, но я не могу понять, как это сделать. Я знаю, что в Drupal есть больше способов сделать запрос (один из них - написать реальный запрос, но я этого не хочу).

Вот код, который у меня есть:

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

Но, очевидно, Drupal снимает мои скобки, и я получаю следующую ошибку:

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

Может ли кто-нибудь мне помочь? Есть ли что-то вроде $query->sum()?

1 Ответ

17 голосов
/ 31 августа 2011

Лучше всего использовать выражение:

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

Первый аргумент - это выражение, второй - псевдоним.

Надеюсь, что помогает

...