2017-10-08 8 views
1

私は、特定のフィールドで2つの値だけでグループを持つテーブルを照会することを選択したいと思います。例のように。 私は毎分2の値を持つテーブルを持っています。しかし、1分に2つ以上の値を持ついくつかの時間と私は降順で選択しました。 分値のフィールドにしたいのですが、[TimeStamp]は、2つのアイテムの降順をグループ化し、2つ以上の値を持つ場合はスキップすることができます。私は、「選択した行」(32分)が唯一の他の行
imageグループを持つ行を降順で2つの特定の値に選択する方法は?

+2

あなたの質問を編集して、テキストデータ、リンクではなく、なく貼り付けた画像を含めてください。 –

+0

2行をどのように選択しますか?画像には、タイムスタンプ3の(TA、4)、(EG、5)、(EG、11)の値が表示されます。 –

答えて

1

ある場合、その後、あなたのCTEを選択し、それにROW_NUMBERを追加します。

select * 
from (
    select *, 
     row_number() over (
      partition by datepart(minute, cast([TimeStamp] as datetime)) 
         --^^ I use `datepart()` over cast of your timestamp field 
         --If your field is `datetime` you don't need to `cast` 
      order by [TimeStamp] desc) seq 
from t) tt 
where seq <= 2; 

SQL Fiddle Demo

1
私は非常によくあなたの質問を取得していない

のような2つの選択することができますが、私はあなたが置くことができると思いたい

SELECT TOP 10 
dbo.ConRadVacuum.[TimeStamp], 
dbo.ConRadVacuum.Tag, 
dbo.ConRadVacuum.[Value] 


FROM 
ConRadVacuum 
ORDER BY 
[TimeStamp] DESC 

CTEのクエリとあなたの行番号フィールドは、私はあなたがあなたのタイムスタンプフィールドの分の部分、このようなものの上に分配することによりrow_number()機能を使用することができると思う1または2

関連する問題