我想寫一個查詢,執行以下操作:計數天凡記錄未記錄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