我在客户表中有一列包含非常大的数字,例如7351267613862.我想用小的值替换该值。例如,用小数值替换列中的值
7351267613862 => 1
7371867613863 => 2
7351267993855 => 3
如何通过使用SQL脚本来做到这一点。
注意:该值可能会出现在表格中很多次。
我在客户表中有一列包含非常大的数字,例如7351267613862.我想用小的值替换该值。例如,用小数值替换列中的值
7351267613862 => 1
7371867613863 => 2
7351267993855 => 3
如何通过使用SQL脚本来做到这一点。
注意:该值可能会出现在表格中很多次。
取决于你想怎么少数喜欢,反正ROW_NUMBER()应该做的伎俩
UPDATE D
SET very_tall_number = small_value
FROM
(
SELECT *, small_value = dense_rank() over (order by very_tall_number)
FROM yourtable
) as D
编辑:从ROW_NUMBER))变化(以DENSE_RANK(
这些值是唯一的,如客户ID,但在表中出现多次。 –
这是row_number()可以工作没有麻烦或冲突? –
所以你想'small_value'由客户运行?对于每个“客户”从1开始? – Squirrel
您可以使用ROW_NUMBER,HTTPS ://msdn.microsoft.com/en-IN/library/ms186734.aspx –