查询分析器,把表按一字段分组,是同一组的打上标记
一个表字段有 工号,姓名,标记
内容如下
工号 姓名 标记
3242张
3242の
12到
12王
14地方
12发
3242发
我想把工号一样的打上标记,就是按照工号分组,把是每一组一样打上标记
3242张1
3242の1
12到2
12王2
14地方3
12发2
3242发1
请问这个语句怎么写。谢谢
[解决办法]
select 工号,姓名,标记=ROW_NUMBER() over(partition by 工号 order by 标记) from 表名
[解决办法]
create table nmw
(工号 int,
姓名 varchar(10),
标记 varchar(5)
)
insert into nmw(工号,姓名)
select 3242, '张' union all
select 3242, 'の' union all
select 12, '到' union all
select 12, '王' union all
select 14, '地方' union all
select 12, '发' union all
select 3242, '发'
update a
set a.标记=rtrim(b.rn)
from nmw a
inner join
(select 工号,姓名,dense_rank() over(order by 工号 desc) 'rn' from nmw) b
on a.工号=b.工号
select * from nmw
/*
工号 姓名 标记
----------- ---------- -----
3242 张 1
3242 の 1
12 到 3
12 王 3
14 地方 2
12 发 3
3242 发 1
(7 row(s) affected)
*/