设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 在我的这个查询里填加两个新的计算字段,怎么做呢?

[复制链接]
跳转到指定楼层
1#
发表于 2021-3-3 10:57:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jiaqitang 于 2021-3-4 09:45 编辑

我有一个数据库,里边有一个表”DAYS”(共三列,PIN,DAYS,SCORES,表是按SCORES从大到小排列).
我做了一个查询(DaysScores),
有一个字段BENCKMARK(DAYS总和乘上0.35,在这个表里它是1783483.1)

我想再加三个计算字段,1个是从上到下累加DAYS 表里 DAYS 这一列,当总和数大于Benchmark(1783483.1),停止累加. 这时算出一共有多少的PIN
(就是多少个行数,在这个表里,加到第64行时,总值是1810594>1783483.1, 停止累加)共有64PIN,我想把64 这个值作为新字段ROWD, 和总和数1810594作为SUMD字段加到查询里。第三个字段是 MINScore,这个字段就是SCORE列在第 64行对应的值。

怎么做呢?




本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2021-3-3 15:13:52 | 只看该作者
看看是不是这样。

如果数据不多的话,将就着用吧。
就这个表来说,还是有些问题的。
首先不能说,数据库是按行排列的。比如,你这张表,按默认数据来看,是64行就超过预定值了,如果我按days排下序呢?显然就不是了吧?所以,在这种情况下,应该加上自动编号字段。后面只需要定位到自动编号的位置即可。
其次,这个dsum,属于域聚合函数,数据量少的话,问题不大。当数据量较大时,最好用ADO去更新数据,然后把目标值挑出来即可。
事实上,可以在录入数据时就去更新累计值。比如,建立一个汇总查询。在录入之前先读取这个数据,然后录入完其它数据后,把这个汇总值加上days的结果去更新即可。当然,这都是后面的事情了。

本帖子中包含更多资源

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

x
3#
 楼主| 发表于 2021-3-4 09:46:40 | 只看该作者
roych 发表于 2021-3-3 15:13
看看是不是这样。

如果数据不多的话,将就着用吧。

老师说的太深了,不是很懂呀。

顶一下吧。
4#
发表于 2021-3-4 20:01:11 | 只看该作者
jiaqitang 发表于 2021-3-4 09:46
老师说的太深了,不是很懂呀。

顶一下吧。

不是很懂就下载附件慢慢看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 03:03 , Processed in 0.137301 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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