MSAccess:从每个类别中选择N条记录 [英] MSAccess: select N records from each category
本文介绍了MSAccess:从每个类别中选择N条记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我无法在MS Access SQL上解决此问题.
I can't solve this on MS Access SQL.
我有一个 foo 表格,其中包含以下字段: ID,标题,类别,日期
I have a foo table with this fields: id, title, category, date
我需要显示6条记录,显示每个类别中的2个最新项目
I need to show 6 records showing the 2 most recent items from each category
例如,我有:
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
所以,我需要类似的东西:
So, I need something like:
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
谢谢.
推荐答案
关于这一点,cat
是表的名称.
How about this, cat
is the name of the table.
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;
这篇关于MSAccess:从每个类别中选择N条记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文