2012-04-11 134 views
1

我無法在MS Access SQL上解決此問題。MSAccess:從每個類別中選擇N條記錄

我有一個表與此字段: ID,標題,類別,日期

我需要顯示6條記錄顯示從每個類別

例如2個最新的項目,我有:

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 

預先感謝您。

回答

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 2012-04-11 13:40:40

+0

@感謝您的投票。我進行了回滾,因爲Access的一個有趣的怪癖是,只要您在表格或別名前面加上前綴,就可以使用不帶方括號的保留字。這是我試圖在這裏和那裏的帖子中以小的方式得到的一點:) – Fionnuala 2012-04-11 13:55:36

+0

完全按照我的想象工作。令人沮喪的是,我無法解決這個問題。非常感謝你! – Jaume 2012-04-17 09:21:17