2011-03-18 56 views
0

UPDATE用戶 SET地方=(SELECT COUNT(*)+ 1 AS [值] FROM [用戶] AS [T0] WHERE COALESCE([T 0]。[投票],0)> COALESCE(U。票,0) )如何寫這個sql查詢的權利?

用戶表的結構:

票整型,將INT

我只是想爲每次使用一套地方河例如:如果您的選票數量很高,那麼您就是第一名。如果你的票數很少,那麼你在最後一個地方。

回答

1

對於SQL Server 2005+

;with tmp as (
    select *, ROW_NUMBER() over (order by votes desc) rownum 
    from users) 
update tmp 
set place = rownum 
+0

謝謝夥計! – Neir0 2011-03-18 03:39:13