【发布时间】:2013-04-05 06:37:19
【问题描述】:
各位,我正在使用 laravel 框架版本 3,我想获得最多 10 个活跃用户(他们上传了大量图片)。 我的表结构: 用户:
id,username ..
图片:
id,user_id,views..
然后我想显示他们的图片示例的总视图: 图片 1 的浏览量为:150 图 2 的浏览量为:100 所以该用户的总数将是 250 等等。 有人可以帮忙吗?
【问题讨论】:
各位,我正在使用 laravel 框架版本 3,我想获得最多 10 个活跃用户(他们上传了大量图片)。 我的表结构: 用户:
id,username ..
图片:
id,user_id,views..
然后我想显示他们的图片示例的总视图: 图片 1 的浏览量为:150 图 2 的浏览量为:100 所以该用户的总数将是 250 等等。 有人可以帮忙吗?
【问题讨论】:
SQL 查询是这样的:
SELECT
COUNT(*) as numPics,
SUM(p.views) as totalViews
FROM
pics p
INNER JOIN
users u
ON
p.user_id = u.id
GROUP BY p.user_id
ORDER BY numPics DESC LIMIT 10
但是,根据您拥有的数据量,我强烈建议您避免这种实时聚合并寻求缓存它。
【讨论】: