日期:2014-05-18  浏览次数:20375 次

sql 分类找最大的并更新
id wc wd
1 a 12
2 a 13
3 fdf 12
4 f3d 13
5 22 14
要更新成这样
id wc wd


3 fdf +1 12
4 3df +1 13
5 22+1 14

update 不让我使用update table set wc=wc+1 where id=(select max(id) from table group by wd)

------解决方案--------------------
SQL code

declare @T table (id int,wc varchar(10),wd int)
insert into @T
select 1,'a',12 union all
select 2,'a',13 union all
select 3,'fdf',12 union all
select 4,'f3d',13 union all
select 5,'22',14

update @T set wc=wc+'+1' from @T t
where id=(select max(id) from @T where wd=t.wd)

select * from @T
/*
id          wc         wd
----------- ---------- -----------
1           a          12
2           a          13
3           fdf+1      12
4           f3d+1      13
5           22+1       14
*/

------解决方案--------------------
Mysql的跑这来干啥啊?语法不一样,你去相应的板块问问嘛
探讨

引用:

SQL code

declare @T table (id int,wc varchar(10),wd int)
insert into @T
select 1,'a',12 union all
select 2,'a',13 union all
select 3,'fdf',12 union all
select 4,'f3d',13 union……