当前位置: 代码迷 >> Sql Server >> SQL语句实现,具体请点进来查看
  详细解决方案

SQL语句实现,具体请点进来查看

热度:17   发布时间:2016-04-24 09:19:24.0
求一个SQL语句实现,急,具体请点进来查看

以上的数据要求实现为下图的样子:

意思就是如果name相同的两个人(张三)或者多个人,就给他加一个标识列1,2,3,4,5.......
而只有一个的(李四)就是自增为1,名称出现多次就加几次,求大神给个SQL语句,只能用SQL来实现
------解决思路----------------------
--如果没有新增列就添加一下
ALTER TABLE TB ADD 新加列 INT
;WITH CTE AS(
SELECT 新加列,ROW_NUMBER()OVER(PARTITION BY name ORDER BY sex)RN
FROM TB
)
UPDATE CTE
SET 新加列=RN

------解决思路----------------------
 row_number 取出列的序列号,partition by 列名 根据 列名进行分组,2楼正解  
  相关解决方案