我的网站上有一个积分系统,不同网站类别中的不同成就可以获得积分。类别可以有子类别和父类别,使用“category_relations”表,“links_to”和“links_from”字段包含相关的 category_id。
我想做的是获取当前类别中得分最高的前 5 名用户以及直接低于该类别的任何类别。
我的“points_awarded”表包含所有奖励积分的所有记录以及来自哪些类别的用户:
user_id,
points_amount, plus (tinyint boolean 是否加分),
minus (tinyint boolean 是否加分),
category_id
我真的不知道从哪里开始。我是否需要两个查询,一个用于获取所有子类别 ID,然后一个用于运行另一个查询以获取所用点的 SUM()?是否可以在一个查询中完成?