2016-08-19 83 views
0

enter image description here我期待着寫一塊SQL,知道什麼時候一米通過(通過零)TTZ例如一個4位數字表9999是最大值,然後它重置它自我0,然後1等,我想知道的是最好的方式來確定派生列中的這個?SQL解決以上數量限制

我最初的想法是對9999的值使用case語句,如果是的話使用1作爲標誌,但問題在於隨着時間的推移還有更多的TTZ。

其中meterread是4位數字的字段。 理想情況下,我想要一個派生列來分隔每個TTZ,並知道在哪裏算數,如果我要做一些窗口功能,如運行求和等()等

對不起,它不是一個偉大的詳細的SQL,但只是想跨

的想法在這個例子中StartRead去從9889到449

+2

請出示一些樣本數據和預期結果爲te xt。 – TheGameiswar

+1

當插入的值小於當前(刪除的)值時,您可以使用觸發器觸發...觸發時,將日期和時間寫入列以記錄最後一次發生的時間,或者只寫一個零/一個如果你只想知道最後更新是否是翻轉 –

+0

@CharlesBretana我認爲你的意思是大於閾值。 –

回答

0

創建meterserial%計算列10000

CREATE Table Meter 
(
Meterserial Int, 
Metereaddate datetime, 
meterread int, 
met4digit as meterserial%1000 
) 
+0

%1000在最後做了什麼? – abs786123

+0

Modulo 1000. I.e返回整數的最後3位數字。 – jarlh

+0

這個工作怎麼會抱歉提出這麼多問題 – abs786123