24 時間以内にすべてのレコードを選択する SQL クエリがありますが、(レコードのタイムスタンプに基づいて) 1 か月以内にすべてのレコードを選択するように更新する必要があります。たとえば、2 月のレコードを選択した場合、月の初めから終わりまでのすべてのレコードが返されます。
私が毎日のクエリに持っているコードは次のとおりです。
SELECT Snapshot.xId, MAX(Snapshot.TimeStamp) AS Timestamp_Actual,
dateadd(dd, datediff(dd,0, MAX(Snapshot.TimeStamp)), 0) AS TimestampRange_Start,
dateadd(MI, 1439, dateadd(dd, datediff(dd,0, MAX(Snapshot.TimeStamp)), 0)) AS TimestampRange_End
FROM Snapshot
GROUP BY Snapshot.xId
私がこれまでに持っているものは次のとおりです。
SELECT Snapshot.xId, MAX(Snapshot.TimeStamp) AS Timestamp_Actual,
dateadd(mm, datediff(mm,0, MAX(Snapshot.TimeStamp)), 0) AS TimestampRange_Start,
dateadd(dd, 0, dateadd(mm, datediff(mm,0, MAX(Snapshot.TimeStamp)), 0)) AS TimestampRange_End
FROM Snapshot
GROUP BY Snapshot.xId
上記のステートメントから、標準の WHERE 句を含めて、TimestampRange_Start と TimestampRange_End の値をチェックし、Timestamp_Actual がそれらの間にあるかどうかを確認できます。