MSAccess:从每个类别中选择N条记录 [英] MSAccess: select N records from each category

查看:64
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆