我在做一个网站,一个幻想电影联盟和我想要做的就是前三名总分整体MySQL的数学获得前3名的分数
总得分应该是:各种总和每个玩家的DIVIDED由该玩家的活跃的电影数量活跃的电影点
(所以,如果一个球员从活动电影300分,有3级活跃的电影,答案应该是100)
所以我的问题是:如何在没有指定player_id的情况下计算单个玩家的活动电影数量(在子查询中)?
SELECT
players.id as player_id,
first_name, last_name,
(metacritic + (imdb*10) + top_bottom + power(receipts,(2/9)) + ticket + oscar_noms + oscar_wins + gg_noms + gg_wins + isa_noms + isa_wins + razzie_noms + razzie_wins + festival_points + ifca_points)/(SELECT COUNT(id) FROM movies WHERE release_date >= CURDATE() and year_id=1 and player_id=4) as player_active_movie_total
FROM movies
INNER JOIN players on players.id=movies.player_id
WHERE release_date >= CURDATE() and year_id=1
ORDER BY player_active_movie_total DESC
LIMIT 3
你需要添加一个GROUP BY,并在电影表中的ID做一个SUM – 2013-03-06 15:24:31
是的,完美!谢谢你一堆 – ISOcrates 2013-03-06 15:33:59