0
如何在SQL Server 2000中按訂單號填充[Order]
列?如何在SQL Server中按訂單號填寫'[Order]`列?
例如,我有一個SQL:
select Id, Tilte
from Tbl
order by Date
我需要從該查詢寫訂單號Tbl
表[Order]
列。
如何做到這一點?
非常感謝您的幫助!
如何在SQL Server 2000中按訂單號填充[Order]
列?如何在SQL Server中按訂單號填寫'[Order]`列?
例如,我有一個SQL:
select Id, Tilte
from Tbl
order by Date
我需要從該查詢寫訂單號Tbl
表[Order]
列。
如何做到這一點?
非常感謝您的幫助!
您可以使用ROW_NUMBER
:
WITH CTE AS
(
SELECT Id, Title, [Order]
, OrderNumber = ROW_NUMBER() OVER (ORDER BY Date)
FROM Tbl
)
UPDATE CTE SET [Order] = CTE.OrderNumber;
這裏有一個小提琴:http://sqlfiddle.com/#!3/8831d/2/0
謝謝!但是可能有更簡單的語法嗎? – Dmitry
@Altaveron:這可能是最簡單的方法 –
@Altaveron:熟悉['CTE'](http://msdn.microsoft.com/en-us/library/ms190766(v = sql) .105).aspx)這很容易,'ROW_NUMBER'不言而喻,不是嗎? –