我有一个包含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特定代码可以获得奖励。
感谢。