我正在處理一個項目,我試圖在SQL Server數據庫中顯示某條日誌消息時,將SQL查詢的結果通過電子郵件發送出去。SQL Query根據3個條件返回一行或一個字段
我的第一個目標是隔離我需要的數據。相關表格如下:
System | Time | Log | Index
1001 |7/16/2015 7:22 |Fail |1729943
1002 |7/17/2015 10:26|Success |1743789
1002 |7/18/2015 10:26|Success |1743799
1003 |7/22/2015 6:14 |Timeout |1771793
我很感興趣,特別是最後Time
當系統1002生成Log
Success
。看起來很簡單,但System
和Log
並不是唯一的記錄,以下內容:
SELECT *
FROM DB.LogFiles
WHERE System ='1002' and Log ='Success'
返回2行:
System | Time | Log | Index
1002 | 7/17/2015 09:43 | Success | 1743789
1002 | 7/18/2015 10:26 | Success | 1743799
我只是感興趣的是在最後Time
這種情況發生,從而使該最後一行:
1002 | 7/18/2015 10:26 | Success | 1743799
該過程將每天重複,以便下一個一天我會看到以下記錄:
System | Time | Log | Index
1002 | 7/17/2015 09:43 | Success | 1743789
1002 | 7/18/2015 10:26 | Success | 1743799
1002 | 7/9/2015 11:42 | Success | 1748752
其中我想被告知再次只新最後記錄
1002 | 7/9/2015 11:42 | Success | 1749261
該項目的最終目標是讓查詢計劃每隔幾個小時運行一次,並查看是否輸入了新的「成功」記錄。如果它不是生成電子郵件。我不確定這個部分是否可以在SQL中完成,而且我可能需要查看其他部分才能完成此任務。至少在SQL部分的任何幫助或洞察將是最有幫助的。
您是否熟悉TOP 1和ORDER BY? –