[英]finding if group of n consecutive numbers are repeating in SQL
我想找出一組 n 個連續數字是否對特定分區重復。
假設我有deviceIds
帶有一些recordid
其值是連續的,設備生成的每條記錄都增加 1。
所以我想知道是否再次重置recordid
並重新生成相同序列的記錄。 讓我們通過下表來理解。
Device ID recordid DateTime
--------------------------------------------------
07777778999 2 18-12-2016 17:15
07777778123 10 18-12-2016 18:10
07777778123 10 18-12-2016 18:20
07777778999 3 19-12-2016 19:30
07777778999 4 19-12-2016 12:15
07777778999 5 19-12-2016 13:15
07777778999 6 20-12-2016 11:15
07777778123 11 20-12-2016 9:15
07777778123 12 20-12-2016 17:15
07777778123 13 20-12-2016 17:25
07777778123 14 20-12-2016 17:35
07777778999 7 20-12-2016 17:45
07777778999 8 20-12-2016 17:55
07777778999 4 20-12-2016 18:50
07777778999 5 20-12-2016 18:55
07777778999 6 20-12-2016 18:50
07777778999 7 20-12-2016 18:55
...
有很多設備,所以我們可以按設備對其進行分區,然后應用我們的查詢來查找是否為設備重新生成數字,例如 07777778999,我們有記錄 ID 的 2、3、4、5、6、7、8 和然后數字從 4、5、6、7 等中重新生成。
所以我想使用 SQL 列出所有具有這種再生的設備。 所以上面的預期輸出將是設備 07777778999
嘗試這個。
這將返回所有具有重新生成值的記錄。
SELECT DeviceID,RecordId
FROM ResultSet
GROUP BY DeviceID,RecordId
HAVING COUNT(1)>1;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.