2011-12-21 13 views
1

最後に更新された行のセットをフィールド名でグループ化するためのクエリを作成する方法を教えてください。例えばクエリは、動的テーブルグループから最後に挿入された行を1つのフィールドで取得します。

ない - サイトID - ステータス - のcreated_at

「いいえ」数は、他のソースから提供される、そのステータスレポートとして連続的に増加しません。のように、挿入はある間隔で24/7に起こります。しかし、私はクエリを実行する2番目の10サイトのステータスを確認したい。

わずか10のサイトがあります。私はこれらのステータスの報告書を生成したい10

最後に挿入されたクエリとして、私たちに現在のサイトのステータスを与えるでしょう。

私はこの

SELECT created_at,siteid FROM [TOC].[dbo].[frame1] GROUP BY siteid ORDER BY created_at DESC 

しかし運、私はあなたが例の入力および出力データを与えることができ、あなたが望むものを実際にはわからない

答えて

3

を試してみましたか?今ここのために

WITH 
    sequenced_data AS 
(
    SELECT 
    ROW_NUMBER() OVER (PARTITION BY site_id ORDER BY created_at DESC) AS sequence_id, 
    * 
    FROM 
    [TOC].[dbo].[Frame1] 
) 
SELECT 
    * 
FROM 
    sequenced_data 
WHERE 
    sequence_id = 1 
+0

入力クエリ... あなたに役に立つかもしれない何かです。この時点で実行中かどうか(すべてのサイトで1つのサイトについて最後に挿入された行) –

+0

この提案は、すべてのサイトにわたって、最も高いcreated_at値を持つ1つのレコードを取得しますそのサイト。 – MatBailie

+0

チャームのように働いた! ! !ありがとうございました :) –

関連する問題