ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3004|回复: 11

access怎么查询10个最多的,然后把剩下的相加

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-12-10 11:53 | 显示全部楼层 |阅读模式
本帖最后由 llfccc 于 2013-12-10 11:55 编辑

当时请别人写了一个,他用union写的,但是我用到我自己的数据库上去时,一直显示正在查询,不知道是因为项目太多了还是其他原因,谁能帮忙看下怎么高效一点呢。
我是用union对查询再做查询,是不是因为这样导致查不出来啊?还有能不能给那个前十项按逆序排个序,但保持“其它”项一直在底部希望有人能解答啊
math (1).rar (11.76 KB, 下载次数: 20)

TA的精华主题

TA的得分主题

发表于 2013-12-10 13:09 | 显示全部楼层
  1. SELECT 费用类型,SUM(费用) AS 费用额 FROM
  2. (SELECT IIF(A.费用类型=B.费用类型,B.费用类型,"其他") AS 费用类型,B.费用 FROM
  3. (SELECT TOP 10 费用类型,费用 FROM TEST  ORDER BY 费用 DESC)A
  4. RIGHT JOIN TEST B
  5. ON A.费用类型=B.费用类型)
  6. GROUP BY 费用类型
  7. ORDER BY (费用类型="其他") desc
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-10 13:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wuxiang_123 发表于 2013-12-10 13:09

你好,可以用,谢谢。
但是缺了个功能,就是对前十个最多的做一个排序,并且保持其它在最下面,能做到吗?还有如果有好几个查询需要做到这个功能的话又什么途径能改成用模块去做呢?稍微提点一下我吧,谢谢

TA的精华主题

TA的得分主题

发表于 2013-12-10 14:36 | 显示全部楼层
不是已经保存其它在最下面吗{:soso_e127:}

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-10 14:45 | 显示全部楼层
wuxiang_123 发表于 2013-12-10 14:36
不是已经保存其它在最下面吗

但是我想要“其它”以外的项能以金额倒叙排列,这个好像没实现啊

TA的精华主题

TA的得分主题

发表于 2013-12-10 14:48 | 显示全部楼层
llfccc 发表于 2013-12-10 14:45
但是我想要“其它”以外的项能以金额倒叙排列,这个好像没实现啊
  1. SELECT 费用类型,SUM(费用) AS 费用额 FROM
  2. (SELECT IIF(A.费用类型=B.费用类型,B.费用类型,"其他") AS 费用类型,B.费用 FROM
  3. (SELECT TOP 10 费用类型,费用 FROM TEST  ORDER BY 费用 DESC)A
  4. RIGHT JOIN TEST B
  5. ON A.费用类型=B.费用类型)
  6. GROUP BY 费用类型
  7. ORDER BY (费用类型="其他") desc,2 DESC
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-10 15:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wuxiang_123 发表于 2013-12-10 14:48

非常感谢,测试可以使用,那如果费用项有多项,比如说本月费用,上月费用,上年度平均费用,都要做成这样好像就不好用这种方法吧?

TA的精华主题

TA的得分主题

发表于 2013-12-10 15:26 | 显示全部楼层
llfccc 发表于 2013-12-10 15:12
非常感谢,测试可以使用,那如果费用项有多项,比如说本月费用,上月费用,上年度平均费用,都要做成这样 ...

{:soso_e100:}一样

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-13 17:12 | 显示全部楼层
本帖最后由 llfccc 于 2013-12-14 09:50 编辑
wuxiang_123 发表于 2013-12-10 15:26
一样

你好,我试着加到4个列的时候会出现“该表达式输入错误,或太复杂以致不能估值。”这句话,如果只有1,2项确实运行正确。是不是因为我是对查询做查询,因为我上一个查询出结果大概要4s钟,然后计算其它项又需要计算量很大的查询导致出不了结果呢?




我输的是
SELECT 存货明细, SUM(月金额) AS 月度金额, sum(对比月金额) AS 对比月度金额, sum(月增额) AS 月度增额, sum(月增幅) AS 月度增幅
FROM (SELECT IIF(A.存货明细=B.存货明细,B.存货明细,"其他") AS 存货明细, B.月金额, b.对比月金额, b.月增额, b.月增幅 FROM (SELECT TOP 10 存货明细, 月金额 FROM [5-5十大物资] ORDER BY 月金额 DESC)  AS A RIGHT JOIN [5-5十大物资] AS B ON A.存货明细=B.存货明细)  AS [%$##@_Alias]
GROUP BY 存货明细
ORDER BY (存货明细="其他") DESC , 2 DESC;



TA的精华主题

TA的得分主题

发表于 2013-12-14 10:11 | 显示全部楼层
llfccc 发表于 2013-12-13 17:12
你好,我试着加到4个列的时候会出现“该表达式输入错误,或太复杂以致不能估值。”这句话,如果只有1,2项 ...

哥,你总得有个附件让我测试吧{:soso_e127:}
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 16:02 , Processed in 0.033600 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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