Access中查询同一张表中多个字段组合的索引的非重复所有的记录

时间:2021-08-14 15:06:43
标题很绕口还是举例子吧:
id  CODE  YEAR   【表头】
JB  345   2003   【记录】机工部标准 345号 2003年版
JB  345   89            机工部标准 345号 89年版
JB  345   89
DL  123   2007          电力部标准 123号 2007年版
DL  123   89             
SJ  444  2000           水利部标准 444号 2000年版
JB  345   71

最后查询的结果为:
JB  345 2003
DL  123 2007
SJ  444 2000

关键是第一、第二字段的组合产生唯一的条件,第三个字段需要查询结果的最大值。
不知道如何在ACCESS如何实现??

谢谢

4 个解决方案

#1


select id,code,max(year) from table1 group by id,code

#2


引用 1 楼 acmain_chm 的回复:
select id,code,max(year) from table1 group by id,code


上面那个table1最后还有一个字段【NAME】,保存 "机工部标准"/ 水利部标准 

用你的SQL的好像不能添加这个字段,
【select id,code,name,max(year) from table1 group by id,code

不知道如何实现?

#3


参考下贴中的多种方法

http://topic.csdn.net/u/20091231/16/2f268740-391e-40f2-a15e-f243b2c925ab.html
[征集]分组取最大N条记录方法征集,及散分....

#4


引用 3 楼 acmain_chm 的回复:
参考下贴中的多种方法

http://topic.csdn.net/u/20091231/16/2f268740-391e-40f2-a15e-f243b2c925ab.html
[征集]分组取最大N条记录方法征集,及散分....

大概的看了下,帖子,发现你的记录中没有多字段的组合关键字,而我的表是有组合关键字,问题不太一样,并且需要加入不参与条件的非主关键字信息

我想如果一个SQL无法实现是不是需要把上面的表拆分为两个表是否可能实现

#1


select id,code,max(year) from table1 group by id,code

#2


引用 1 楼 acmain_chm 的回复:
select id,code,max(year) from table1 group by id,code


上面那个table1最后还有一个字段【NAME】,保存 "机工部标准"/ 水利部标准 

用你的SQL的好像不能添加这个字段,
【select id,code,name,max(year) from table1 group by id,code

不知道如何实现?

#3


参考下贴中的多种方法

http://topic.csdn.net/u/20091231/16/2f268740-391e-40f2-a15e-f243b2c925ab.html
[征集]分组取最大N条记录方法征集,及散分....

#4


引用 3 楼 acmain_chm 的回复:
参考下贴中的多种方法

http://topic.csdn.net/u/20091231/16/2f268740-391e-40f2-a15e-f243b2c925ab.html
[征集]分组取最大N条记录方法征集,及散分....

大概的看了下,帖子,发现你的记录中没有多字段的组合关键字,而我的表是有组合关键字,问题不太一样,并且需要加入不参与条件的非主关键字信息

我想如果一个SQL无法实现是不是需要把上面的表拆分为两个表是否可能实现