access数据库如何获取重复值中的最大值

winterzou 2010-08-19 11:43:23
access数据库中有这样一个表

id comid name addtime
1 22 销售代表 2009-12-01 13:50:02
2 22 锅炉工 2009-11-01 13:50:02
3 22 总经理 2006-11-01 13:50:02
4 32 钣金工 2008-10-01 13:50:02
5 32 车 工 2009-04-01 13:50:02
6 32 锅炉工 2010-01-01 13:50:02
7 32 驾驶员 2001-11-01 13:50:02
8 65 营业员 2009-01-01 13:50:02
9 65 技术员 2009-09-01 13:50:02
10 65 质检员 2007-11-01 13:50:02
11 34 工民建 2001-07-01 13:50:02
12 34 施工员 2003-11-01 13:50:02
13 12 学徒工 2006-01-01 13:50:02
14 29 普车工 2010-08-01 13:50:02

要求是取得所有重复的comid中的addtime最大的name值并以addtime降序排列。
问一下这样的sql语句怎么写(要access数据库能运行的),那位大神指点一下
...全文
317 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
winterzou 2010-08-21
  • 打赏
  • 举报
回复
谢谢acmain_chm了,用的是你给的网址里面的一条SQL语句,其他的好像都不能在access数据库中使用
[Quote=引用 42 楼 lzf616 的回复:]
当N=1时候,可以这样

SQL code

select t2.*
from t2, (select gid, max(col2) as m_col2 from t2 group by gid) tt2
where t2.gid = tt2.gid
and t2.col2 = tt2.m_col2 order by id
[/Quote]
winterzou 2010-08-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 acmain_chm 的回复:]
SQL code
select *
from 这样一个表 a
where not exists (
select 1 from 有这样一个表
where comid=a.comid
and addtime>a.addtime
)
order by addtime desc
[/Quote]

我试了你的方法,还是不行,我要的结果是留下addtime最大的那条comid记录并去除其他重复的comid所在的那条记录
ACMAIN_CHM 2010-08-19
  • 打赏
  • 举报
回复
参考下贴中的多种方法

http://topic.csdn.net/u/20091231/16/2f268740-391e-40f2-a15e-f243b2c925ab.html
[征集]分组取最大N条记录方法征集,及散分....
ACMAIN_CHM 2010-08-19
  • 打赏
  • 举报
回复
select *
from 这样一个表 a
where not exists (
select 1 from 有这样一个表
where comid=a.comid
and addtime>a.addtime
)
order by addtime desc

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧