伙计们使用laravel框架版本3,我想获得最多10个活跃用户(谁上传了大量图片)。 我的表格结构: 用户:
id,username ..
图片:
id,user_id,views..
然后我想显示他们的照片的总观看次数: 图1的视图是:150 图2的视图是:100 所以用户总数将是250,依此类推。 任何人都可以帮助PLZ吗?
答案 0 :(得分:0)
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
但是,根据您拥有的数据量,我强烈建议您实时避免这种聚合,并寻求缓存它。