2012-04-11 12 views
1

MS Access SQLでこれを解決することはできません。MSAccess:各カテゴリからN個のレコードを選択してください

私はこのフィールドを持つFOOテーブルを持っている: ID、タイトル、カテゴリ、日付

は、私は例えば、各カテゴリ

から2つの最新のアイテムを示す6つのレコードを表示する必要があり、私は持っている:

ID  TITLE CAT  DATE 
---------------------------------- 
5 dgdg cat1 18/03/2012 
6 dfgd cat1 15/03/2012 
3 asg cat2 13/03/2012 
2 sdfs cat2 12/03/2012 
7 dgdgd cat3 18/03/2012 
8 dfgd cat3 12/03/2012 

ID TITLE CAT DATE 
------------------------ 
1 aaa  cat1 12/03/12 
2 sdfs cat2 12/03/12 
3 asg  cat2 13/03/12 
4 flkgjfl cat3 11/03/12 
5 dgdg cat1 18/03/12 
6 dfgd cat1 15/03/12 
7 dgdgd cat3 18/03/12 
8 dfgd cat3 12/03/12 
9 uiuou cat1 14/03/12 
10 ghj  cat4 11/03/12 

だから、私のようなものが必要

ありがとうございます。

答えて

1

これについてはどうですか、catはテーブルの名前です。

SELECT cat.ID, cat.TITLE, cat.CAT, cat.DATE 
FROM cat 
WHERE cat.ID In (
    SELECT TOP 2 id 
    FROM cat c 
    WHERE cat.cat = c.cat 
    ORDER BY [date] DESC,id) 
ORDER BY cat.CAT, cat.DATE; 
+0

私の心はさまよっていました。 – Fionnuala

+0

@投票に感謝します。 Accessの興味深い変わった点は、テーブルやエイリアスを接頭辞として使用している限り、大括弧なしで予約語を使用できることです。それは、私がここでそこの小さな柱の中を行き来しようとしている点です。 – Fionnuala

+0

私が想像していた通りに正確に動作します。私はそれを動作させることができないことを挫折。どうもありがとうございました! – Jaume

関連する問題