私はtempというテーブルを持っています。この表には、日付と値があります。SQLは12時間以内にMAXデータを選択します
Date | Value
2016/04/01 07:00am | 1
2016/04/01 09:00am | 2
2016/04/01 11:00am | 3
...
2016/04/01 07:00pm | 5
2016/04/01 11:00pm | 2
...
2016/04/02 07:00am | 10
2016/04/02 09:00am | 13
2016/04/02 11:00am | 1
...
2016/04/02 07:00pm | 32
2016/04/02 09:00pm | 40
私は返すしたいと思います:
アイデアは、12時間間隔でグループにあり、その後、前記グループの最大値を見つけます。
SELECT t.date, max(t.value)
FROM temp t
WHERE t.Date between DATEADD(hour, 7, '04/01/2016') and DATEADD(minute, 1859, '04/02/2016')
GROUP BY DATEPART(Hour, t.date)%12, t.date
ORDER BY Date
をしかし、それはすべてのデータなし12時間のグループを返します。
これまでのところ、私は持っています。
アイデア?
あなたが毎日同じ12時間のグループです - 真夜中を正午と12:01 - 11:59 pm? – n8wrl
はい、毎日同じです。 – TeeJ
あなたの日付に実際に午前/午後がある場合は、日付の最後の2文字でさらにグループ化することができます。 – Ezenhis