Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 查找由n个连续数字组成的组是否在SQL中重复_Mysql_Sql_Aggregation_Data Analysis - Fatal编程技术网

Mysql 查找由n个连续数字组成的组是否在SQL中重复

Mysql 查找由n个连续数字组成的组是否在SQL中重复,mysql,sql,aggregation,data-analysis,Mysql,Sql,Aggregation,Data Analysis,我想知道一组n个连续的数字是否对特定分区重复 假设我有deviceid和一些recordid,它们的值是连续的,设备生成的每个记录都递增1 因此,我想知道是否重置记录ID并再次以相同的顺序重新生成记录。让我们通过下表来理解 Device ID recordid DateTime -------------------------------------------------- 07777778999 2 18-12-

我想知道一组n个连续的数字是否对特定分区重复

假设我有
deviceid
和一些
recordid
,它们的值是连续的,设备生成的每个记录都递增1

因此,我想知道是否重置
记录ID
并再次以相同的顺序重新生成记录。让我们通过下表来理解

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列出所有具有这种再生的设备。 因此,上面的预期输出将是设备077778999

试试这个

这将返回所有具有重新生成值的记录

SELECT DeviceID,RecordId
FROM ResultSet
GROUP BY DeviceID,RecordId
HAVING COUNT(1)>1;

你试过使用左连接吗?我不明白这个‘07777778999,我们有记录id的2,3,4,5,6,7,8’,然后‘数字从4,5,6,7重新生成’——因为第二批不是从2,3开始的,也没有8。你有什么逻辑说077778999应该是预期的输出?仅仅是recordid被使用了不止一次吗?在这种情况下,将包括077778123(但您说您不想要)?是的,记录值按顺序重复。如果你看到778123,它是10,10,11,12,13,14,但是对于7778999,它是2,3,4,5,6,7,8,4,5,6,7。。。它继续着,在7之后,有8,9,10,11,12,13等等,基本上第一个序列停止了,然后第二个序列在4开始并继续。这基本上是一个数据分析问题,我们试图确定哪些设备的记录id会重新生成,并将其自身重置为某个值,tht也会启动。我想知道在提供更简单的数据集时是否会丢失任何东西。例如,99和23更简单。这并没有给出顺序。它只提供为该设备id复制的记录。假设一条记录自身复制,则该设备将被复制listed@230490,您能否提供一些预期的输出。因此,在上面的示例中,它的设备07777778999,而不是设备077778123,尽管它有10条重复记录