2016-08-22 21 views
-2

私は、与えられた結果セットのトレンドデータの最大値を与えるTSQLクエリを持っています。私は毎月の結果に基づいてこのデータを取得したいと思います。 (結果セットにdatetime列があります)。私が3ヶ月間データを選択すると、毎月このvaulesを与えなければなりません。今では最大値を探し、すべての月に同じ結果が得られます。月ごとのグループの最大値を取得するTSQL

以下は、トレンドの結果を得るために使用する式です。それは他の列の番号を持つselectステートメントの一部です。

select col1, col2, sampledatecollected, (Select MAX(AvailMemSlope) FROM SlopeCTE) * MetricID + (Select MAX (AvailMemIntercept) FROM InterceptCTE) AS AvailMemTrend 

は、私は私が表現から取得

select name, max(value) 
from tbl1 
group by name 

CPUTrend IDの望ましい結果のデータを取得する方法へと少し混乱している私は、このような何かをする必要があるかもしれないと思うが、発現を与えられました最初のクエリで指定したものです。

サンプルデータ:

Date  AVGCPU MAXCPU CPUTrend 
8/22/2016 20  40  44 
8/23/2016 20  40  44 
8/24/2016 20  40  44 
8/25/2016 20  40  44 
9/22/2016 20  50  44 
9/23/2016 20  50  44 
9/24/2016 20  50  44 

期待される結果:今

Date  AVGCPU MAXCPU CPUTrend 
8/22/2016 20  40  32 
8/23/2016 20  40  32 
8/24/2016 20  40  32 
8/25/2016 20  40  32 
9/22/2016 20  50  44 
9/23/2016 20  50  44 
9/24/2016 20  50  44 

それが最大値だと私が得るすべては44です。

+0

いくつかのサンプルデータと、私は問題のいくつかの詳細を追加した期待される結果 – TheGameiswar

+0

@TheGameiswarをご提示ください。 – Ramya

+0

を確認してください。現在のサンプルデータを投稿してください。 – TheGameiswar

答えて

0

私はあなただけ副問合せをしたいと思う:

with t as (
     select col1, col2, sampledatecollected, 
      (Select MAX(AvailMemSlope) FROM SlopeCTE) * MetricID + 
      (Select MAX (AvailMemIntercept) FROM InterceptCTE) AS AvailMemTrend 
     from ?? -- the SQL in your question is incomplete 
    ) 
select year(sampledatecollected), month(sampledatecollected), 
     max(AvailMemTrend) 
from t 
group by year(sampledatecollected), month(sampledatecollected) 
order by year(sampledatecollected), month(sampledatecollected); 
関連する問題