2017-06-11 11 views
1

[日付処理時間]と[MFR g/10分]は[処理中分析結果]テーブルのフィールドです。私は「1日あたりのMFR g/10分」と「MFR g/10分の平均」の「範囲(最大 - 最小)」を見つけるはずです。 日は「前日」18:00:00から「今日」17:59:00と定義されています。MS Access SQLの範囲と平均

SELECT [In process analysis result].[Date Time], Format([In process analysis result].[Date Time],"dd/mmm/yy") AS [Extracted Date], Format([In process analysis result].[Date Time],"hh:nn:ss") AS [Extracted Time], IIf([Extracted Time]<"18:00:00",DateAdd("d",-1,[Extracted Date]),[Extracted Date]) AS [New Date], [In process analysis result].[MFR g/10min] 
FROM [In process analysis result]; 

[抽出日]と[抽出日時]を抽出しました。 [抽出時間]が18:00:00未満の場合、前日とみなされることを条件にします。最終結果は[New Date]です。

しかし、このクエリでは、[MFR g/10分]の[Range(Max-Min)of day]と[Average [MFR g/10min]新しい日付]をクリックします。私はいくつかの助けと指導が必要です。誰かが私を助けることができればと感謝します。 ありがとうございます。

enter image description here

答えて

1

あなたは正しい軌道に乗っているが、Hour([Date Time])が18以上の場合、あなたはDateValue([Date Time])を取り、1日を追加して、日付の計算を簡素化することができます。次に、そのクエリを実際の計算を行うクエリのサブクエリとして使用します。

SELECT 
    EffectiveDate, 
    MAX([MFR g/10min]) - MIN([MFR g/10min]) AS DailyRange, 
    AVG([MFR g/10min]) AS DailyAverage 
FROM 
    (
     SELECT 
      DateAdd("d", IIf(Hour([Date Time]) < 18, 0, 1), DateValue([Date Time])) AS EffectiveDate, 
      [MFR g/10min] 
     FROM [In process analysis result] 
    ) 
GROUP BY EffectiveDate