日時、15 分枠、30 分枠、1 時間枠に基づいてデータを分類する必要があります。私は1時間スロットのためにこのようなクエリを書きました、
select
a.datetime, feederid,
vr, vy, vb
from (
select datetime,feederid, vr, vy, vb, tt, DENSE_RANK() OVER (
partition by dateadd(hour, datediff(hour, 0, datetime), 0), feederid
ORDER BY feederid,datetime
) rank1
from pseb.dbo.datasource
where
convert(datetime,datetime) between '2011-06-12' and '2011-06-12 23:59:00'
) a
where rank1 = 1
しかし、15 分のスロット値のデータを分割する方法がわかりません。
私のテーブルの結果セットはこのようなものです
DATETIME FeederID VR VY VB
2011-06-12 00:09:50 4731 199.148 0 212.69
2011-06-12 00:05:31 4731 178.531 0 242.838
2011-06-12 00:36:20 4731 174.622 0 239.756
2011-06-12 01:10:03 4731 175.645 0 240.328
2011-06-12 13:10:07 4731 196.387 76.991 241.798
2011-06-12 18:35:46 4731 207.719 54.756 251.855
ここでは、00:00 から 15:00 分のスロットに 2 つのレコードがあり、datetime desc による上位 1 つの注文が必要です。
私がそれをするのを手伝ってください。