小编XCC*_*004的帖子

将 RANK 插入 SQL 表

我有一个包含以下列的表:

NAME (VARCHAR) 
FISHING (INT) 
SAILING (INT) 
NAVIGATION (INT) 
SALARY (NUMERIC) 
Run Code Online (Sandbox Code Playgroud)

该表有9行数据。我曾经ALTER添加一列来保存rank该人的工资。它被称为SALARY_RANK。我的想法是用一个SELECT可以填补该排名的声明来填充该列。我尝试使用INSERT以下SELECT语句来填充该列,但最终创建了 9 个新行,其中除新列之外的所有行都是NULL

解决这个问题的最佳方法是什么?

这是我为新列编写的 SQL:

ALTER TABLE #CODY_CREW 
ADD  SALARY_RANK INT;

INSERT INTO #CODY_CREW (SALARY_RANK)
    SELECT 
       DENSE_RANK() OVER (ORDER BY SALARY) AS 'SALARY_RANK'
    FROM #CODY_CREW
Run Code Online (Sandbox Code Playgroud)

这就是我运行时发生的情况:

NAME                                               FISHING     SAILING     NAVIGATION  SALARY                                  SALARY_RANK
-------------------------------------------------- ----------- ----------- ----------- --------------------------------------- -----------
Amy                                                3           5           1           46000                                   NULL
Bill                                               1           2           5           43000                                   NULL
Carl                                               3           4           2 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server rank dense-rank

1
推荐指数
1
解决办法
2295
查看次数

标签 统计

dense-rank ×1

rank ×1

sql ×1

sql-server ×1