设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1443|回复: 6
打印 上一主题 下一主题

[ADO/DAO] access中sql语句求教

[复制链接]
跳转到指定楼层
1#
发表于 2008-8-28 17:20:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一个表A,有字段id,name,num,类型分别为文本,文本,数值
表中数据id,name都可重复,num唯一
现在我想取出所有的id对应的name,同时num是最大的数据,请问select如何写?

我写了一个,
SELECT id,name,num FROM A
WHERE num = (select max(num ),id from A group by id);
access报错。
如果我把num= 修改为 exists的话,不报错,但是所有的id和name都出来了,达不到要求
请问各位高手,如何实现啊,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-8-28 19:02:17 | 只看该作者
用dlookup不是很好吗
3#
发表于 2008-8-28 21:14:35 | 只看该作者
难道不是
select distinct id, name, max(num) from A
group by id, name
吗?
如果我理解正确
那楼主的思路还是颇诡异...
4#
 楼主| 发表于 2008-8-29 08:16:10 | 只看该作者
原帖由 godfrey 于 2008-8-28 21:14 发表
难道不是
select distinct id, name, max(num) from A
group by id, name
吗?
如果我理解正确
那楼主的思路还是颇诡异...


这样的话,只要id,name不全相同的记录都会出来,而我只需要id对应一个name,就是相同id的num最大的那个name
5#
 楼主| 发表于 2008-8-29 08:16:32 | 只看该作者
原帖由 小铁匠 于 2008-8-28 19:02 发表
用dlookup不是很好吗


access里面怎么用dookup?
6#
发表于 2008-8-29 10:25:21 | 只看该作者
SELECT ID, Name, num FROM A INNER JOIN (SELECT ID, Max(num) FROM A GROUP BY ID) as temptable ON (num = temptable.num) AND (ID = temptable.ID);

[ 本帖最后由 godfrey 于 2008-8-29 10:27 编辑 ]
7#
发表于 2008-8-29 11:12:16 | 只看该作者
用下面的语句就可以实现你的要求:
SELECT name, id, Max(num)  AS  num
FROM a
GROUP BY name, id
HAVING (((Max(num))>=(select Max(num) from a)));

[ 本帖最后由 su_xx 于 2008-8-29 11:16 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-13 11:37 , Processed in 0.097961 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表