我經常驗證的SQLServer日誌和我的查詢通常是這樣的(其中Type = 0表示錯誤):檢索的上方和下方的特定記錄的記錄
SELECT *
FROM Logs
WHERE Type = 0
ORDER BY Timestamp
但大部分的時間,我不只對錯誤本身感興趣,但也對錯誤發生之前發生的事情感興趣。
是否有可能使用SQLServer查詢每行匹配查詢的WHERE子句的上方/下方(相對於主鍵)的n行?
Ex。與我的查詢,我只會得到線125 & 130.我想[123,124,125]和[128,129,130]。
PrimaryKey Timestamp Type Description
123 2012-09-17 03:41:46.240 1 Working.
124 2012-09-17 03:42:46.240 1 Database backup.
125 2012-09-17 03:43:46.240 0 Access violation.
126 2012-09-17 03:44:46.240 1 Working.
127 2012-09-17 03:45:46.240 1 Working.
128 2012-09-17 03:46:46.240 1 Working.
129 2012-09-17 03:47:46.240 1 Backup.
130 2012-09-17 03:48:46.240 0 Corrupted.
131 2012-09-17 03:49:46.240 1 Working.
謝謝。
:
如果PrimaryKey的列不能保證是連續的,那麼假定記錄是由
Timestamp
在ASC
爲了總是命令,下面的查詢將之前和記錄選定一個後取什麼版本的SQL Server? –這是SQLServer 2008 – Illuna