如何在数据库中制作和更新排名 C#
How to make and update ranking in database c#
我有这个查询:
Select [col], DENSE_RANK() Over(ORDER BY col DESC)as rank From Table
我有 2 列,x 和 y。
但我想用 DENSE_RANK() 的结果更新 x 列中的数据。老实说,我不知道那是怎么查询的,但是当我尝试时,它是有效的。
但是当我在查询生成器中尝试该查询时,会出现警告 "The OVER SQL construct or statement is not supported."。所以我需要对x列的数据进行排名,然后将排名结果保存到y列。
您可以执行如下操作。这里的 b
和 a
是 table 的别名。您需要加入相同的 table -> 获取排名数据 -> 然后更新所需的列
UPDATE a
SET y = b.rank
FROM Table a
JOIN (
Select x, DENSE_RANK() OVER(ORDER BY x DESC)as rank From Table ) b
ON a.x = b.x;
我有这个查询:
Select [col], DENSE_RANK() Over(ORDER BY col DESC)as rank From Table
我有 2 列,x 和 y。 但我想用 DENSE_RANK() 的结果更新 x 列中的数据。老实说,我不知道那是怎么查询的,但是当我尝试时,它是有效的。
但是当我在查询生成器中尝试该查询时,会出现警告 "The OVER SQL construct or statement is not supported."。所以我需要对x列的数据进行排名,然后将排名结果保存到y列。
您可以执行如下操作。这里的 b
和 a
是 table 的别名。您需要加入相同的 table -> 获取排名数据 -> 然后更新所需的列
UPDATE a
SET y = b.rank
FROM Table a
JOIN (
Select x, DENSE_RANK() OVER(ORDER BY x DESC)as rank From Table ) b
ON a.x = b.x;