sqlserver2005 : SELECT row_number() OVER (ORDER BY t .AgentIdentify ASC,t .AgentLevelRate DESC) AS row
,t .* FROM (SELECT top 20 * FROM AgentLevel ORDER BY AgentIdentify ASC,AgentLevelRate DESC) t
sqlserver2000: SELECT (select count(*) from AgentLevel where AgentLevelRate >=t.AgentLevelRate) AS row,AgentLevelRate DESC) t