我有一组记录,我从中选择和平均各种数据,并按小时分组。似乎这个函数/查询在平均方面做得很好,因为我得到了 744 条记录而没有问题。然而,从 6 月 8 日到 6 月 16 日,它似乎跳过了平均和分组。尽管数据如此庞大,我已经梳理过试图找到可能发生这种情况的原因。似乎这些行中的数据与其他行中的数据没有什么不同,应该没有理由跳过从 6 月 8 日到 6 月 16 日的记录。有 NULLS,但我认为 AVG 会跳过这些数据? 有没有人见过这种跳过记录的特殊模式,尤其是与 AVG 和 GROUP BY 函数有关的情况?
日期格式:YYYY-MM-DD HH:MM:SS.000 数据库管理器:Microsoft Corporation 的 SQL Server Management Studio
工作数据链接(此数据已正确平均): https ://docs.google.com/spreadsheet/ccc?key=0Av--kLXVY_a3dHA5UjBKYXc3UmRhQW9RN0NGbXl1NHc
非工作数据链接(此数据因某种原因被完全跳过): https ://docs.google.com/spreadsheet/ccc?key=0Av--kLXVY_a3dFZqX3RuYVNWYWpVemNmSS12bzhIOXc
用于平均和分组的查询:
`INSERT INTO AverageRawData(DateTime,
SCR1_EXHAUST_GAS_TEMP,SCR1_NOX_LEVEL,SCR1_NH3_FLOW_RATE,SCR1_O2_LEVEL,SCR1_NOx,
SCR2_EXHAUST_GAS_TEMP,SCR2_NOX_LEVEL,SCR2_NH3_FLOW_RATE,SCR2_O2_LEVEL,SCR2_NOx,
SCR3_EXHAUST_GAS_TEMP,SCR3_NOX_LEVEL,SCR3_NH3_FLOW_RATE,SCR3_O2_LEVEL,SCR3_NOx,
SCR4_EXHAUST_GAS_TEMP,SCR4_NOX_LEVEL,SCR4_NH3_FLOW_RATE,SCR4_O2_LEVEL,SCR4_NOx,
CAT1_FUEL_FLOW_RATE,CAT2_FUEL_FLOW_RATE,CAT3_FUEL_FLOW_RATE,
VOLVO1_FUEL_FLOW_RATE,VOLVO2_FUEL_FLOW_RATE,VOLVO3_FUEL_FLOW_RATE,VOLVO4_FUEL_FLOW_RATE,VOLVO5_FUEL_FLOW_RATE,
TOTAL_NOx)
SELECT MIN(DateTime),
AVG(Convert(decimal(10,3),SCR1_EXHAUST_GAS_TEMP)),
AVG(Convert(decimal(10,3),SCR1_NOX_LEVEL)),
AVG(Convert(decimal(10,3),SCR1_NH3_FLOW_RATE)),
AVG(Convert(decimal(10,3),SCR1_O2_LEVEL)),
AVG(Convert(decimal(10,3),SCR1_NOx)),
AVG(Convert(decimal(10,3),SCR2_EXHAUST_GAS_TEMP)),
AVG(Convert(decimal(10,3),SCR2_NOX_LEVEL)),
AVG(Convert(decimal(10,3),SCR2_NH3_FLOW_RATE)),
AVG(Convert(decimal(10,3),SCR2_O2_LEVEL)),
AVG(Convert(decimal(10,3),SCR2_NOx)),
AVG(Convert(decimal(10,3),SCR3_EXHAUST_GAS_TEMP)),
AVG(Convert(decimal(10,3),SCR3_NOX_LEVEL)),
AVG(Convert(decimal(10,3),SCR3_NH3_FLOW_RATE)),
AVG(Convert(decimal(10,3),SCR3_O2_LEVEL)),
AVG(Convert(decimal(10,3),SCR3_NOx)),
AVG(Convert(decimal(10,3),SCR4_EXHAUST_GAS_TEMP)),
AVG(Convert(decimal(10,3),SCR4_NOX_LEVEL)),
AVG(Convert(decimal(10,3),SCR4_NH3_FLOW_RATE)),
AVG(Convert(decimal(10,3),SCR4_O2_LEVEL)),
AVG(Convert(decimal(10,3),SCR4_NOx)),
AVG(Convert(decimal(10,3),CAT1_FUEL_FLOW_RATE)),
AVG(Convert(decimal(10,3),CAT2_FUEL_FLOW_RATE)),
AVG(Convert(decimal(10,3),CAT3_FUEL_FLOW_RATE)),
AVG(Convert(decimal(10,3),VOLVO1_FUEL_FLOW_RATE)),
AVG(Convert(decimal(10,3),VOLVO2_FUEL_FLOW_RATE)),
AVG(Convert(decimal(10,3),VOLVO3_FUEL_FLOW_RATE)),
AVG(Convert(decimal(10,3),VOLVO4_FUEL_FLOW_RATE)),
AVG(Convert(decimal(10,3),VOLVO5_FUEL_FLOW_RATE)),
AVG(Convert(decimal(10,3),TOTAL_NOx))
FROM jmusa_LOG1
GROUP BY DATEPART(DD,DateTime),DATEPART(HH,DateTime)`