2016-05-18 90 views
-3

我在客户表中有一列包含非常大的数字,例如7351267613862.我想用小的值替换该值。例如,用小数值替换列中的值

7351267613862 => 1 
7371867613863 => 2 
7351267993855 => 3 

如何通过使用SQL脚本来做到这一点。

注意:该值可能会出现在表格中很多次。

+0

您可以使用ROW_NUMBER,HTTPS ://msdn.microsoft.com/en-IN/library/ms186734.aspx –

回答

0

取决于你想怎么少数喜欢,反正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(

+0

这些值是唯一的,如客户ID,但在表中出现多次。 –

+0

这是row_number()可以工作没有麻烦或冲突? –

+0

所以你想'small_value'由客户运行?对于每个“客户”从1开始? – Squirrel