2009-04-26 86 views
1

レコードの束と日付列を含むSQL Server 2008データベースにテーブルがあります。テーブルへの新しいエントリが発生すると、日付が自動的に挿入されます。したがって、作成されたレコードの日付が含まれます。テーブルの最古の日付と最新の日付を返すTSQLクエリ

私はこのテーブルの中で最も早い日付と最新の日付を返すクエリを実行しようとしています。

私は次のように試しました。

SELECT TOP(1) DateAdded AS firstdate 
FROM  News 
ORDER BY DateAdded DESC; 

SELECT TOP(1) DateAdded AS lastdate 
FROM  News 
ORDER BY DateAdded ASC; 

ただし、「firstdate」が返されました。

これを達成する方法を教えてくれる人は誰ですか?

答えて

3
SELECT 
     MIN(DateAdded) As FirstDate, 
     MAX(DateAdded) As LastDate 
FROM 
     News; 
1

答えは集約を使用することです。

SELECT 
    MIN(DateAdded) AS firstdate, 
    MAX(DateAdded) AS lastdate 
FROM 
    News; 

あなたのクエリが2件の結果を返します:あなたはこのような何か使用することができ

+0

が答えてくれてありがとう、私は彼が最初に書いたようにホセの答えをマークし、I誰も怒らないでください... –

+0

私はこの1つに答えるために競争する私たちの束を想像することができます...ラッキーホセ:-) – gbn

1

かかわらず、それぞれが個別に動作します:

select DateAdded  from (SELECT DateAdded, 
      row_number() over (order by DateAdded desc) as rn, 
      count(*) over() as added_value 
    FROM News 
) t 
where rn = 1 
    or rn = added_value 
ORDER BY DateAdded DESC 
関連する問題