プログラマーとプログラミングに熱心な人々のための質問と回答
DECLARE @Interval int = 20 DECLARE @IsRemoveLeast bit = 'false' SELECT VotesFloor, COUNT(*) AS UserCount FROM (SELECT FLOOR((UpVotes + DownVotes) / @Interval) * @Interval AS VotesFloor FROM Users WHERE UpVotes + DownVotes > 0 AND ID > 0 ) AS Hist WHERE @IsRemoveLeast != 1 OR (VotesFloor != 0) GROUP BY VotesFloor ORDER BY VotesFloor DESC