使用SQL Server 2005/2008如果插入的最後一個值(排序方式爲_timestamp
)不是相同的值,我想插入一個新行。如果最後一個值不同,則插入SQL語句
例如:
value | timestamp
100 | "yesterday"
101 | "today"
在接下來的操作:
- 的101的值不應該被插入的,因爲這是最新的值
然而的102的值應插入爲最新值不是這樣的
使用SQL Server 2005/2008如果插入的最後一個值(排序方式爲_timestamp
)不是相同的值,我想插入一個新行。如果最後一個值不同,則插入SQL語句
例如:
value | timestamp
100 | "yesterday"
101 | "today"
在接下來的操作:
然而的102的值應插入爲最新值不是這樣的
爲什麼你不使用那樣的東西?
DECLARE @table TABLE(val INT, [timestamp] DATETIME)
INSERT INTO @table
SELECT 100, N'20160112'
UNION ALL
SELECT 101, N'20160113'
SELECT * FROM @table
INSERT INTO @table
SELECT 101, N'20160114'
WHERE 101 <> ISNULL((SELECT TOP 1 val FROM @table
ORDER BY timestamp DESC), -1)
SELECT * FROM @table AS T
最後一個值是什麼? 「價值」還是「時間戳」? – SQLChao
獲取最高值,如果你有什麼不同,那麼做插入。 – Chuck
按時間戳排序的最後一個值。所以在我的情況下,最後一個值是100. –