部门 分部门 销售金额
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
请帮忙看一看如何能通过查询完成此操作,谢谢!作者: wwwwa 时间: 2007-9-26 16:05
SELECT *
FROM TTPO ORDER BY
部门, 销售金额 DESC作者: Threaten 时间: 2007-9-26 16:22
那样是先按照部门的字母顺序排序,再按照金额排序
如果B部门的分部门总计是最高的话,就不行了作者: hi-wzj 时间: 2007-9-26 18:21
例子作者: wwwwa 时间: 2007-9-27 08:00
不能直接用部门排序,要做处理:
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;作者: wwwwa 时间: 2007-9-27 08: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;作者: wanshan 时间: 2007-9-27 10:04
看看这个是否和你的要求类似? http://www.officefans.net/cdb/vi ... ighlight=%2Bwanshan