Làm cách nào để có được cột được tính bằng db_select?


7

Tôi yêu cầu tổng (điểm)? Bất kỳ trợ giúp về những gì để thêm vào trong mã mẫu được đưa ra dưới đây?

$query = db_select('digitaliq_question_points','n')
  ->fields('n',array('points'))
  ->condition("node_id", $node->nid, '=')
  ->condition('n.fld_group', $fields, 'IN');

$points = $query->execute()->fetchAll();

Câu trả lời:


9

Bạn có thể sử dụng addExpression()phương thức:

$query = db_select('digitaliq_question_points','n')
  ->fields('n',array('points'))
  ->condition("node_id", $node->nid, '=') 
  ->condition('n.fld_group', $fields, 'IN');

$alias = $query->addExpression('SUM(points)', 'sum_of_points');

$points = $query->execute()->fetchAll();

Rõ ràng là có thể cần thay đổi một chút dựa trên các yêu cầu trả về giá trị / nhóm của bạn nhưng đó là phương pháp bạn đang tìm kiếm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.