日期 姓名 分类
2009-4-5 a 1
2009-4-2 a 2
2009-3-6 a 1
2009-4-8 a 3
2009-4-2 a 1
2009-3-5 b 3
2009-3-2 b 2
2009-2-5 b 2
2009-3-8 b 3
2009-3-17 b 1
2009-5-5 c 2
2009-5-2 c 2
2009-5-5 c 1
2009-5-8 c 3
2009-2-17 c 1过滤得到:只过滤出某个姓名某种分类的日期最近的记录 用ACCESS+ADO(姓名与分类不固定)
日期 姓名 分类
2009-3-6 a 1
2009-4-2 a 2
2009-4-8 a 3
2009-3-17 b 1
2009-3-2 b 2
2009-3-8 b 3
2009-5-5 c 1
2009-5-5 c 2
2009-5-8 c 3
2009-4-5 a 1
2009-4-2 a 2
2009-3-6 a 1
2009-4-8 a 3
2009-4-2 a 1
2009-3-5 b 3
2009-3-2 b 2
2009-2-5 b 2
2009-3-8 b 3
2009-3-17 b 1
2009-5-5 c 2
2009-5-2 c 2
2009-5-5 c 1
2009-5-8 c 3
2009-2-17 c 1过滤得到:只过滤出某个姓名某种分类的日期最近的记录 用ACCESS+ADO(姓名与分类不固定)
日期 姓名 分类
2009-3-6 a 1
2009-4-2 a 2
2009-4-8 a 3
2009-3-17 b 1
2009-3-2 b 2
2009-3-8 b 3
2009-5-5 c 1
2009-5-5 c 2
2009-5-8 c 3
in(select 姓名+分类+Max(日期) from 表 group by 姓名,分类)
2009-4-5 a 1
2009-3-6 a 1
取2009-3-6 a 1
而
2009-5-5 c 1
2009-2-17 c 1
取2009-5-5 c 1
SELECT MIN(日期) AS 日期,姓名,分类 FROM Table GROUP BY 姓名,分类 ORDER BY 姓名,分类
这个可以。
我还有一个问题请教,这个表中还有其它字段
日期 姓名 分类 时间那么是不是应该写成:SELECT MAX(日期) AS 日期,MAX(时间) AS 时间,姓名,分类 FROM Table GROUP BY 姓名,分类其它没有指定到GROUP BY后的字段都要加MAX呢?(我的试验是这样的)那么取日期最大的是不是要把MAX(日期) AS 日期放置在最前面,也就是哪个取最大值字段在最前就取哪个字段?还有一种就是:SELECT MAX(日期) AS 日期,姓名,分类 FROM Table GROUP BY 姓名,分类,时间后边的正确吗?