次のクエリがあります。
SELECT AVG(val) from floatTable
WHERE tagindex IN(1,2,3,4)
AND DateAndTime > '$first_of_year'
これは、年初来のこれら 4 つのタグについて測定されたすべての値の平均値を返します。すでにこのデータを取得しているので、月初、週初、および午前 0 時以降のデータを取得するにはどうすればよいですか? これらの日付は、$first_of_month、$first_of_week、および $midnight として計算されています。私はクエリを最小限に抑えようとしていますが、このデータを単一のクエリまたは最適化された一連のクエリで返すために、誰かが SQL マジックを作成するのを手伝ってくれることを望んでいました。このクエリには平均 300 秒かかるため、できるだけ短くしたいと考えています。
前もって感謝します。