2011-07-14 11 views
0

私は日付の列を持つテーブルを持っています。これらの日付をあるタイプの項目フィールドでグループ化できるようにしたい。たとえば、Itemという列があり、Itemフィールドに500個のエントリがあります。アイテム12345には5つのエントリがあり、それぞれに価格が設定されています。私は最新の日付でグループ化されたすべてのアイテムを引き出すことができるようにしたい。SQLピックアップ日付フィールドからのトップ日付

031126-2M1       8/10/2011 12:00:00 AM 7.8678 
031126-2M1       7/22/2011 12:00:00 AM 9.5620 
031126-2M1       7/15/2011 12:00:00 AM 8.8090 

この例では、最も近い日付の2011年7月15日のアイテムを表示したいので、その価格8.8090を使用できます。リストには他のアイテムが表示され、あるものは1つのエントリがあり、他のアイテムは多くのアイテムがあるかもしれませんが、クローゼットの日付とともにそれらのアイテムをすべて表示したいと考えています。助けが必要!

おかげ

+0

はどのバージョン? – MatBailie

+1

@gabrielVa:データベースであなたの質問にタグを付けること。あなたは何度も尋ねられていますし、あなたが参加していることを示すための受け入れ評価を持っています。これは私があなたを助けたい人に礼儀を提供する最後の時間です。 –

+0

<3 @OMGPonies ... – JNK

答えて

1

A MS SQL Serverのバージョン... SQLの

WITH 
    sorted_data AS 
(
    SELECT 
    ROW_NUMBER() OVER (PARTITION BY item_id ORDER BY item_date DESC) AS row_id, 
    * 
    FROM 
    item_data 
    WHERE 
    item_date <= getDate() 
) 

SELECT * FROM sorted_data WHERE row_id = 1 
-3

SELCT *これは何かによって グループでは、これを持つこと=テーブル から。 日付順に並べ替えます。

"THIS"がクエリ自体に含まれている必要があります。このことができます

希望..

乾杯

+2

これは私がまだ見たことのない最も多くの回答ではないようです。少し拡大していただけますか? – MatBailie

+0

私は2番目の@Demsコメント – jworrin

+0

私はどのようなスタイルの調整の前にこの質問に答えました。それは私にとっては最もエレガントな答えでした..私はこのコメントが1行にすべてを示すのを助けることはできません。 – 1SeoAdvies

関連する問題