我收到来自多个天线的每日txt文件数据。对于文件的命名约定是:查找数据中缺失的日期
独特的天线ID +年+月+日+随机3位数字
我解析的文件名和创建的表像这样的:
AntennaID fileyear filemonth fileday filenumber filename
0000 2016 09 22 459 000020160922459.txt
0000 2016 09 21 981 000020160921981.txt
0000 2016 09 20 762 000020160920762.txt
0001 2016 09 22 635 000120160922635.txt
.
.
.
etc. (200k rows)
有时候,天线根本不会发送超过1个文件或没有文件。唯一的3位数filenumber区分文件,如果超过1发送,但我试图找到一个文件没有发送的日子。
我试了几次groupby语句来比较给定月份中的数据文件数量,并查看它是否与当月的日期相匹配 - 但问题是有时天线每次发送超过1个文件如果我们只是比较计数,那么可以人为地弥补“缺失”文件。
我正在寻找一种更强大的方法来查找丢失文件的日期或日期范围。我已经研究了分区和重叠函数,并感觉这里可能有潜力,但我不确定如何使用它们,因为我对SQL相当陌生。
我使用Microsoft SQL Server 2016
这是什么叫做“缺口另一个例子,岛屿“问题。你可以谷歌这个词来解决很多问题。 –