我一直是這個論壇的很長一段時間的讀者,它幫助了我很多,但是我有一個問題,我無法找到特定於我的需求的解決方案,所以這是第一次我不得不問什麼。 我有一個select語句,它返回按日期排序的儀表讀數(最新的讀數在頂部),在99.9%的情況下,隨着日期的推移,儀表讀數總是上升,但由於偶爾會出現系統故障,需要識別下面一行中的讀數(之前的讀數)大於最新讀數(當前單元格)的實例 我遇到了LEAD函數,但它僅在Oracle或SS-MS-2012中使用,我正在使用SS-MS-2008。 這裏是我的選擇陳述的簡化版本:SQL與下一行的值比較
SELECT Devices.SerialNumber,
MeterReadings.ScanDateTime,
MeterReadings.TotalMono,
MeterReadings.TotalColour
FROM dbo.MeterReadings AS MeterReadings
JOIN DBO.Devices AS Devices
ON MeterReadings.DeviceID = Devices.DeviceID
WHERE Devices.serialnumber = 'ANY GIVEN DEVICE SERIAL NUMBER'
AND Meterreadings.Scandatetime > 'ANY GIVEN SCAN DATE TIME'
ORDER BY MeterReadings.ScanDateTime DESC, Devices.SerialNumber ASC
感謝您的回覆,我失去了與一些使用的代碼,但犯規數據需要被scandatetime這個排序說明工作? – TBC 2013-03-14 16:46:41
感謝您的建議,我調整了一下,它給了我正確的結果:FYI – TBC 2013-03-15 09:20:46