SELECT a1.Contract_id, a1.Asset_id, Count(*) AS CategoryRank
FROM Analysis AS a1 INNER JOIN Analysis AS a2 ON (a1.Contract_id = a2.Contract_id) AND (a1.Asset_id >= a2.Asset_id)
GROUP BY a1.Contract_id, a1.Asset_id
ORDER BY a1.Contract_id, a1.Asset_id;