sql将相同数据进行处理

sql sever 有一张表,结构为字段A,字段B,字段C,现在其中存在多条相同的数据,怎么才能让这个数据实现相同数据,字段A变为1,2,3,这样的顺序增加(不能设为自增)

row_number 了解一下

不知道你的版本有没有 group_concat,可以参考下这个看看 http://t.csdn.cn/OedYp

1、直接使用 DENSE_RANK 函数即可

with t as (
    select '1' a, '2' b, '3' c union all select '2', '1', '1' union all select '3', '2', '1' union all
    select '1' a, '2' b, '3' c union all select '2', '1', '1' union all -- select '3', '2', '1' union all
    select '1' a, '2' b, '3' c union all select '2', '1', '1' union all select '3', '2', '1')
select a, b, c--, ROW_NUMBER( ) over( order by a,b,c ) rn, RANK( ) over( order by a,b,c ) rk
        , DENSE_RANK( ) over( order by a,b,c ) rn
    from t

结果:

img