我有一个包含两列的表格:
Country
列已填充。所以我需要按以下方式填写OrderView
列:
Country OrderView
------------------------
United States 1
Afghanistan 2
Aland Islands 3
Albania 4
依此按字母顺序排列(美国必须先行)。
我知道如何在linq2sql中执行此操作,但我遇到了SQL问题。你能救我吗?
答案 0 :(得分:4)
如果问题是针对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