請問 如果 我想撈 前面 8筆資料,卻發現 前面 8筆資料的其中幾筆是錯誤的.
可以跳過他們 語法能自動跳過去撈之前8筆資料嗎?(撈正確的)
我撈8筆資料是這樣
SELECT TOP 8 M_DateTime ,A515V ,A515S FROM dbo.P1234567_Hr_2018 WHERE DP_NO = 'A006' ORDER BY M_DateTime DESC;
如上圖所示 , A515S 裡面是038 對過去 數值是 6,1,1,1,1000 代表異常
我想排除他們
然後撈之前的第 6,7,8,9,10,11,12,13 之前的8筆這樣 ,就是跳過異常部分一樣撈8筆,有異常都跳過
想問排除異常部分該怎麼加入進去
那在加個判斷應該就可以了~
SELECT TOP 8 M_DateTime ,A515V ,A515S
FROM dbo.P1234567_Hr_2018
WHERE DP_NO = 'A006'
and A515S = '010'
ORDER BY M_DateTime DESC;
或者是
SELECT TOP 8 M_DateTime ,A515V ,A515S
FROM dbo.P1234567_Hr_2018
WHERE DP_NO = 'A006'
and not A515S between '031' and '038'
ORDER BY M_DateTime DESC;
參考看看.
WITH mQuery AS (
SELECT M_DateTime ,A515V ,A515S,
ROW_NUMBER() OVER (ORDER BY M_DateTime DESC) AS ROW_NUM
FROM dbo.P1234567_Hr_2018 A
WHERE DP_NO = 'A006'
AND A515S NOT IN ('031', ..... , '038')
)
SELECT *
FROM mQuery
WHERE ROW_NUM <=8