设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 多列数据求最大值

[复制链接]
跳转到指定楼层
1#
发表于 2013-3-19 18:15:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位好:
      在一个查询里,要计算一个人绩效1,绩效2,绩效3三列数据中的最大值,在excel中直接用max就行了,可是在ACCESS中貌似不可以,谁能帮帮忙呀,或者找个例子,不胜感激。(百度和论坛里面我都找了半天也没找到方法,谢谢了。)

姓名
绩效1
绩效2
绩效3
最终结果
最终结果公式
A
1
2
1
2
=MAX(绩效1,绩效2,绩效3)
B
2
3
3
3
=MAX(绩效1,绩效2,绩效3)
C
4
2
3
4
=MAX(绩效1,绩效2,绩效3)
D
2
2
1
2
=MAX(绩效1,绩效2,绩效3)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-3-19 19:10:08 | 只看该作者
供参考

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
发表于 2013-3-19 20:01:52 | 只看该作者
这个表其实可以这样设置:

姓名 绩效类型  评分
A     绩效1       1
A     绩效2       2
A     绩效3       1
B     绩效1       2
B     绩效2       3
B     绩效3       3
用DMax就可以求出来了:
=DMax("评分","绩效表","姓名='A'")…………………………A同事的最佳绩效。
如果用在查询里,则选择两个字段:
Select 姓名,DMax("评分","绩效表","姓名='"&[姓名]&"'") As 绩效 From 绩效表
在Access里,很多用法都是可以变通来使用的。如果要显示你这张表的效果,则可以用交叉表查询来完成:
姓名为行字段,绩效类型为列字段,值为评分,选择“最大值”来计算即可。——当然不可能百分百一模一样,但基本效果是一致的。
4#
 楼主| 发表于 2013-3-20 09:15:53 | 只看该作者
roych 发表于 2013-3-19 20:01
这个表其实可以这样设置:

姓名 绩效类型  评分

谢谢版主回复,您说的的这个效果确实是可以实现,因为这个数据库原始表就是我举例子那样设计的,原数据库设计者还分别利用这些字段做了很多查询,我就是临时要改一些东西。。。求教了,在帮着想想方法。谢了。
5#
 楼主| 发表于 2013-3-20 09:17:18 | 只看该作者
netguestcn 发表于 2013-3-19 19:10
供参考

啊。非常感谢。。。。就是要这个效果。
6#
 楼主| 发表于 2013-3-20 09:17:45 | 只看该作者
roych 发表于 2013-3-19 20:01
这个表其实可以这样设置:

姓名 绩效类型  评分

谢谢版主,2楼的兄弟帮着解决了。
7#
 楼主| 发表于 2013-3-20 09:33:55 | 只看该作者
netguestcn 发表于 2013-3-19 19:10
供参考

O(∩_∩)O哈哈~。功能已经实现了,回来仔细研究一下模块中的代码,能否用标注给逐句讲解一下意思,谢谢了。不胜感激。
8#
发表于 2013-4-26 16:01:53 | 只看该作者
看看哈,支持一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-11 21:50 , Processed in 0.106255 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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