如何计算Rank SQL查询

0 sql sql-server

嗨,我有下表根据门票状态每天保存代理商排名.

No. **Agent Name** **Incidents** **workorder**  **Rank**     **TimeStamp**
1      cedric           200          29           1          21 Jan 2011
2      poul             100          10           2          21 Jan 2011
3      dan              200          20           1          21 Jan 2011
4      cedric           100          19           2          22 Jan 2011
5      poul             200          26           1          22 Jan 2011
6      dan              150          20           2          22 Jan 2011
Run Code Online (Sandbox Code Playgroud)

现在我需要查询其取出两个日期之间的排名意味着如果我选择2011年01月21日期间至2011年1月22日,然后返回查询代理我平均排名代理的这两个日期不返回该代理的日期排名的详细信息智者之间.我需要单个名字的代理人和他的排名.

此致,Iftikhar hashmi

Ali*_*tad 5

尝试

SELECT [Agent Name], AVG(RANK) FROM MY_TABLE WHERE [TimeStamp] BETWEEN DATE1 AND DATE2
GROUP BY [Agent Name]
Run Code Online (Sandbox Code Playgroud)

(更新)

感谢马丁提醒我,我需要施展RANK.

SELECT [Agent Name], AVG(CAST(RANK AS FLOAT)) FROM MY_TABLE WHERE [TimeStamp] BETWEEN DATE1 AND DATE2
GROUP BY [Agent Name]
Run Code Online (Sandbox Code Playgroud)

  • 你可能想把`rank`转换为`float`或者什么东西 (3认同)