2013-10-15 22 views
0

我想通过为每个最大值加1来更新最大值。但我不知道如何编写SQL查询。如何更新SQL中的最大10个值

我试试我的方式来创建一个新的表,其中包含10个最大值,然后执行下面的查询,但有一个错误:列总不能为空。

update familyone 
set familyone.total = 
    (select totalmax.total-1 
     from totalmax 
     inner join (select * from familyone) as t on t.familyone_id2 = totalmax.familyone_id2 
     where familyone.familyone_id2 = totalmax.familyone_id2) 

有人能指出我的错误或想到另一种解决方法吗?

+1

请指定SQL的版本。谢谢 – Matt

回答

1
;with a as 
(
    select top 10 total 
    from familyone 
    order by total desc 
) 
update a 
set total +=1