我有兩列的表:編號表列
- 國家
- 訂單查看
Country
列已經被填滿。所以,我需要在下面的方式來填補OrderView
柱:
Country OrderView
------------------------
United States 1
Afghanistan 2
Aland Islands 3
Albania 4
而且按照字母順序等(美國必須是第一個)。
我知道如何在linq2sql中做到這一點,但我有SQL的麻煩。你可以幫我嗎?
我有兩列的表:編號表列
Country
列已經被填滿。所以,我需要在下面的方式來填補OrderView
柱:
Country OrderView
------------------------
United States 1
Afghanistan 2
Aland Islands 3
Albania 4
而且按照字母順序等(美國必須是第一個)。
我知道如何在linq2sql中做到這一點,但我有SQL的麻煩。你可以幫我嗎?
如果問題是針對SQL Server的,可以使用case
和row_number
。
update C
set OrderView = case
when Country = 'United States' then 1
when Country > 'United States' then rn
else rn + 1
end
from (
select OrderView,
Country,
row_number() over(order by Country) rn
from YourTable
) as C
嗨.Mikael你知道任何好的指導/教程的SQL Server索引? – 2012-08-13 11:50:12
看看SQL Server Central [Stairway to Indexes](http://www.sqlservercentral.com/stairway/72399/)。還沒有自己讀過,但它在我的待辦事項清單上。 – 2012-08-13 11:54:38
能否請您添加到數據庫中的標籤和版本您使用的? – 2012-08-13 09:56:46