1

MS Access SQL でこれを解決できません。

次のフィールドを持つfooテーブルがあります:id、title、category、date

各カテゴリの最新の 2 つのアイテムを示す 6 つのレコードを表示する必要があります

たとえば、私は持っています:

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  

だから、私は次のようなものが必要です:

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  

前もって感謝します。

4

1 に答える 1

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;
于 2012-04-11T11:39:04.133 に答える