簡體   English   中英

查找一組 n 個連續數字是否在 SQL 中重復

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM