2011-12-21 2 views
1

마지막으로 업데이트 된 행 집합을 필드 이름별로 그룹화하는 쿼리를 작성할 수 있습니다. 예동적 테이블 그룹에서 마지막으로 삽입 된 행을 하나의 필드로 그룹화합니다.

더 - siteid - 상태 -

created_at '에는'수는 다른 소스에서 제공의 상태 보고서로 지속적으로 증가합니다. 에서와 같이 삽입은 일정한 간격으로 24/7 발생합니다. 하지만 나는 쿼리를 실행하는 두 번째 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

입력 쿼리 ... 당신에게 도움이 될 수있는 무언가이다. 현재 실행중인 사이트 또는 현재 사이트가 아닌 모든 사이트의 현재 상태 (한 사이트에 대해 마지막으로 삽입 된 행) –

+0

이 제안은 모든 사이트에서 가장 높은 created_at 값을 갖는 사이트별로 하나의 레코드를 가져옵니다. 그 사이트. – MatBailie

+0

매력처럼 작동했습니다! ! ! 고맙습니다 :) –

관련 문제