设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 两级排序问题

[复制链接]
跳转到指定楼层
1#
发表于 2007-9-26 15:56:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位,有表如下:

部门   分部门   销售金额
A         XY         15678
B         ZY         12400
A         TT         11232
C         OP        10089
B         TX           9879
C         TL           5678

我按销售金额排序,可是出现的是按照各个分部门的销售金额排序的.
如果我想按照整个部门销售金额排序,比如整个A部门的两个分部门的总计是最高的,整个A部门排第一,再按分部门的销售金额由高到低排序,于是整个A部门的两个分部门就分列第一,第二,依此类推...
部门   分部门   销售金额
A         XY         15678
A         TT         11232
B         ZY         12400
B         TX           9879
C         OP        10089
C         TL           5678

请帮忙看一看如何能通过查询完成此操作,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-9-26 16:05:17 | 只看该作者
SELECT  *
FROM TTPO ORDER BY
部门, 销售金额 DESC
3#
 楼主| 发表于 2007-9-26 16:22:39 | 只看该作者
那样是先按照部门的字母顺序排序,再按照金额排序
如果B部门的分部门总计是最高的话,就不行了
4#
发表于 2007-9-26 18:21:54 | 只看该作者
例子

本帖子中包含更多资源

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

x
5#
发表于 2007-9-27 08:00:43 | 只看该作者
不能直接用部门排序,要做处理:

SELECT A1.*
FROM TTPO AS A1 LEFT JOIN [SELECT 部门,
(SELECT COUNT(*) FROM
(SELECT 部门,SUM([销售金额]) AS MA1
FROM TTPO
GROUP BY 部门) A
WHERE MA1>=MA
) AS PX
FROM (
SELECT 部门,SUM([销售金额]) AS MA
FROM TTPO
GROUP BY 部门)
]. AS D ON A1.部门=D.部门
ORDER BY PX, 销售金额 DESC;
6#
发表于 2007-9-27 08:21:21 | 只看该作者
ACCESS加了方括号,去掉:
SELECT A1.*
FROM TTPO AS A1 LEFT JOIN (SELECT 部门,
(SELECT COUNT(*) FROM
(SELECT 部门,SUM([销售金额]) AS MA1
FROM TTPO
GROUP BY 部门) A
WHERE MA1>=MA
) AS PX
FROM (
SELECT 部门,SUM([销售金额]) AS MA
FROM TTPO
GROUP BY 部门)
) AS D ON A1.部门=D.部门
ORDER BY PX, 销售金额 DESC;
7#
发表于 2007-9-27 10:04:24 | 只看该作者
看看这个是否和你的要求类似?
http://www.officefans.net/cdb/vi ... ighlight=%2Bwanshan
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-1 13:28 , Processed in 0.082968 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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