Mysql或Codeigniter Active Record中group_by之后的所有行的总和

时间:2013-02-17 20:08:36

标签: php mysql codeigniter-2

我有一个包含3个具有以下结构的表的MySQL数据库

user_id | facebook_friends | twitter_friends | Others

fanspark_id | user_id | Others

notification_id | user_id | faspark_id | Others

执行以下MySQL查询:

SELECT
  users.facebook_friends
FROM (`users`)
  JOIN `notifications`
    ON `notifications`.`user_id` = `users`.`user_id`
  JOIN `fansparks`
    ON `fansparks`.`fanspark_id` = `notifications`.`fanspark_id`
WHERE `notifications`.`type` = 'share'
    AND `fansparks`.`user_id` = '1'
GROUP BY `notifications`.`user_id`

结果将如下所示:

users.facebook_friends

11
120
10
500

每行对应于通知表中找到的每个唯一用户。注意:可以有多个与同一用户和fanspark关联的通知(因此分组依据)

我想为通知表中的所有用户选择这些行(Facebook朋友)的SUM。但是,由于GROUP BY语句,将SUM()或COUNT()添加到上述查询中不起作用。有没有办法在MySQL中执行此操作,或者在返回结果后是否需要在我的应用程序中对这些内容求和?

我也在使用CodeIgniter,所以如果可以使用Active Record类来完成,而没有任何MySQL特定代码可以获得奖励。

感谢。

0 个答案:

没有答案