나는, 아래 표에서 데이터를 분석 할 수있는 몇 가지 요구 사항이그룹과 모든 기록을 얻을
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 시드, PID의 합계를 얻을 것이다 쿼리 위 . 그러나 몇 가지 다른 요구 사항, 나는 매일 PId가 데이터 링크에서 하루에 한 시간 동안 가장 많이 사용하는 것을 필요로합니다. http://ideone.com/IW4FUA 나는 아래와 같이 매 시간마다 가장 많이 사용되는 PId의 데이터가 필요합니다.
Power PId
5163.316 6
5135.371 6
PId 6은 하루 중 시간 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, Datetime입니다. –