我正在尝试计算本月用户的声誉,然后找到 4 个最接近的其他结果(2 个较低,2 个较高),所以要按顺序找到 5 个结果。例如某些用户的声誉是 4500 所以我应该得到最终结果: 2750, 3000, 4500 , 4650, 8900
这是我的查询(它只为特定用户选择他在当月的声誉):SELECT SUM(reputation_change) FROM activity WHERE user_id = '1' AND YEAR(datetime) = YEAR(CURDATE()) AND MONTH(datetime) = MONTH(CURDATE())
我的表如下:
所以问题是:如何让它表现公平?我不必重组表并仅为每个用户列添加reputation_this_month
吗?
感谢您的所有建议。