设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2809|回复: 13
打印 上一主题 下一主题

[查询] 如何取出每个班级中含有 某个特定字段的较小值 的记录?

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-23 22:02:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 执成 于 2009-11-25 09:08 编辑

我的目的是:提取出“每个班”中成绩相对较小的一个同学的整条记录(包括班级,学校和姓名),如果成绩相同也只取其中一个同学(总之每个班取且只取一个同学,不同班级成绩不做比较,如果一个班仅有一个学生,他的记录就直接取出)。谢谢。请帮忙在附件中操作一下。我试过很多次,每个班中唯一个最小值能取出,但是相关资料 如 :姓名,班级信息 不能正确得到。请大家帮下忙。


表的结构如下  有一个表名称为 “表”,字段包含 “班级”   “姓名”  “成绩” “学校”, 需要从每个班中选出一个同学的记录,要求是这个同学的成绩 在所在班中是最小的,如果所在班中有2个以上的同学的“成绩”相同且都是最小,只选其中任何一个同学,决不能把相同成绩的同学都选出来。

附件中第2个表是我想要的结果。

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2009-11-24 09:36:06 | 只看该作者
自己顶一下
3#
发表于 2009-11-24 11:14:27 | 只看该作者
可以用
","班级=" & 表.[班级])    班级是字符, 前后要加 单引号
4#
 楼主| 发表于 2009-11-24 12:45:47 | 只看该作者
试过了,还是不行。请帮忙在附件中操作一下。请大家帮帮忙。
5#
 楼主| 发表于 2009-11-24 14:30:16 | 只看该作者
自己顶一下
6#
发表于 2009-11-24 15:00:36 | 只看该作者
本帖最后由 aslxt 于 2009-11-24 15:03 编辑

这样就不报错了:
SELECT *
FROM 表
WHERE (((表.姓名)=DLookUp("姓名","表","成绩=" & DMax("成绩","表","班级='" & [表].[班级] & "'"))));
7#
 楼主| 发表于 2009-11-24 17:12:08 | 只看该作者
我试过了 用这个查询可以运行但不能解决我的问题(没有把所有班级都列出来了)不过还是要谢谢aslxt。请大家再帮我想想办法
8#
 楼主| 发表于 2009-11-24 18:52:55 | 只看该作者
自己顶一下
9#
 楼主| 发表于 2009-11-24 21:15:48 | 只看该作者
请大家帮我看看
10#
发表于 2009-11-24 21:30:05 | 只看该作者
有点不明白,这样行吗?
SELECT 表.学校, 表.班级, 表.姓名, Min(表.成绩) AS 成绩之Min FROM 表 GROUP BY 表.学校, 表.班级, 表.姓名
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-19 00:29 , Processed in 0.086532 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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