我一直在研究一个查询,该查询将使用一个查询的最高平均值,并将其与已存储在不同列中的值进行比较。
第一个查询如下
SELECT top 1
CONVERT(varchar, md_settlementdate, 23) [Day of Year],
SUM(MD_KVA)/8 [Average KVA30],
SUM(MD_KVA15)/8 [Average KVA15]
FROM tblMeter INNER JOIN dbX.dbo.tblMeterData ON M_ID = MD_MeterID
WHERE M_MeterRef = @NMI
AND MD_SettlementDate >= @startdate -- 366
AND MD_SettlementDate <= @enddate
AND MD_KVA >= 0
--AND (CONVERT(TIME,md_settlementdate,108) BETWEEN '17:30:00.0000000' AND '21:00:00.0000000')
GROUP BY CONVERT(varchar, md_settlementdate, 23)
ORDER BY [Average KVA30] desc
这是的结果
一年中的第几天 | 平均KVA30 | 平均KVA15 | |
---|---|---|---|
2019-12-24 | 300.785712 | 314.308450
Select C_Name, M_MeterRef ,
MI_InvoiceNo,MI_StartDate,
MI_AccountNo, IC_Description,
ICHT_Description, IC_Qty, IC_AuditQty, IC_Qty - IC_AuditQty As Variance,a.KVA30
from tblMeter b ,(SELECT top 1
CONVERT(varchar, md_settlementdate, 23) [Day of Year], M_MeterRef ,
SUM(MD_KVA)/8 [Average KVA30],
SUM(MD_KVA15)/8 [Average KVA15]
FROM tblMeter group by M_MeterRef ,CONVERT(varchar, md_settlementdate, 23)) a
where a.M_MeterRef =b.M_MeterRef
我想这就是你想要的?