如何从sql查询计算排名并在c#代码中获取该值

时间:2018-01-12 08:50:35

标签: sql sql-server

我有一张名为tbl_Generation的表 我在该表中有多个列。重要的一个是RGenerate,它是布尔值,该列中只包含0或1,EmpID(from tbl_Employee) 表格就像这样

 RGenerate    EmpCode
 0            101
 1            101
 0            101 
 1            201
 1            201

例如,EmpCode 101总计数为1,EmpCode 201为2 我想根据具有最高RGenerate的用户计算每个用户的等级 我正在使用SQL Server 2012。

我想在页面背后的代码上为特定用户排名 现在我有一个asp.net仪表板页面,用户将看到他的排名。

如何编写相应的SQL查询?

1 个答案:

答案 0 :(得分:2)

使用窗口函数和强制转换编写一个SQL查询,为每个用户分配排名,然后将其显示在您的网页上

SELECT EmpCode, 
       row_number() over(order by sum(cast(RGenerate as int)) desc) rank
FROM tbl_Generation
GROUP BY EmpCode

dbfiddle demo