我想写一个查询,执行以下操作:计数天凡记录未记录SQL
- 组的结果由
'key'
列 - 和的次数的
'device id'
没有记录'data'
这是样本数据
最终的输出应该是这样的:
| Key | Count of Missed Data |
| 14 | 123 |
| 124 | 356 |
哪里count of missed data
是一个'device id'
没有在最近365天记录'data'
天数。
**注意:每'key'
可能有500 'device id'
。每次在这一年的某个日历日,这些设备中的一个设备不会记录'data'
,并计算按键分组的“错过的数据”点的总数。
请询问您是否有任何问题。谢谢您的帮助!
约翰
每下面的建议,这是我现在运行的代码。批评?
Select
a.descr AS 'Community',
a.meter_type AS 'Meter Type',
sum(a.misseddaysperdevice) as [Count of Missed Days]
From
(
Select
fmr.subdivisionkey,
sub.descr,
meter_type,
365-count(distinct(convert(varchar, fmr.read_date, 112))) as misseddaysperdevice
From
FactMeterRead fmr
INNER JOIN DimSubdivision sub on sub.subdivisionkey = fmr.subdivisionkey
Where
fmr.read_date > getdate()-364
Group By
fmr.SubdivisionKey, sub.descr, fmr.meter_num, meter_type
) a
Group By
a.descr, meter_type
Order By
[Count of Missed Days] DESC
我想我可能有在我的问题上有点不清楚。每个密钥将有多个“设备ID”。每个键可以有500个“设备ID”。我需要统计每个设备在整个一年中每天没有记录“数据”的次数。这是否有意义? – johnwonderbread
@johnwonderbread查看我的编辑 – RedFilter