私は、下記の表からのデータを分析するには、いくつかの要件がありグループとすべてのレコードを取得
SELECT MId,SId,PId,DataHour,
CAST(t.[SDate] as DATE), MAX(t.Powers) as PeakPower
FROM [HourData] t where CONVERT(date,[SDate]) between
CONVERT(date,'2016-12-01 09:45:59.240') and CONVERT(date,'2016-12-08 09:45:59.240')
GROUP BY MId,SId,PId, CAST(t.[SDate] AS DATE),DataHour
order by CAST(t.[SDate] AS DATE),DataHour,PeakPower
彼の日に、各時間のすべてのMID、SID、PIDに合計を取得するクエリ上記。 しかし、私は他のいくつかの要件、私は毎日、すなわちデータリンクから1時間に最も多く使用されているPIdが必要ですhttp://ideone.com/IW4FUA 私は以下のように1時間ごとに最も使用されたPIdのデータが必要です。
Power PId
5163.316 6
5135.371 6
PId 6は、1日の時間0と時間1の値が最も高くなります。 各データ時間内のすべてのPIDの合計で、毎日の最大時間を取得します。
このクエリは、各時間のデータの詳細を与える
SELECT MId,SId,PId,DataHour,
CAST(t.[SDate] as DATE), MAX(t.Powers) as PeakPower
FROM [MonataHourData] t where CONVERT(date,[SDate]) between
CONVERT(date,'2016-12-01 09:45:59.240') and CONVERT(date,'2016-12-08 09:45:59.240')
GROUP BY MId,SId,PId, CAST(t.[SDate] AS DATE),DataHour
order by CAST(t.[SDate] AS DATE),DataHour,PeakPower
CREATE TABLE [dbo].[HourData](
[ID] [bigint] NOT NULL,
[SId] [bigint] NOT NULL,
[PID] [bigint] NOT NULL,
[Powers] [decimal](18, 4) NOT NULL,
[DataHour] [int] NOT NULL,
[StartDate] [datetime] NOT NULL)
SDATE列がどのようなデータタイプですか? – Tomalak
StartDateはSDate、その日時です。 –