关于TRANSFORM 排序 的问题

YangZhongLiang 2008-05-14 09:02:21
TRANSFORM COUNT([全部违纪].[地点])

SELECT [全部违纪].[地点], COUNT( * ) AS 数量
FROM 全部违纪
GROUP BY [全部违纪].[地点]
ORDER BY COUNT([全部违纪].[地点]) DESC <-这句有问题,说不能有合计数.但去掉TRANSFORM 和 PIVOT 行查询是成功的.

PIVOT IIF([全部违纪].[队属]='内部', '内部', '外部');

想按数量排序生成表格为
地点 数量 内部 外部

其中数量是某地点查处的所有违纪.内部是自己查的,外部是别人查的.

请高手帮忙解决一下,我想直接生成排完序的表!~
...全文
151 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyann 2008-05-14
  • 打赏
  • 举报
回复

这个方法我试过了,但只能用地点排序.我想用 COUNT( * ) AS 数量 这个字段排序

TRANSFORM 不支持以聚合函数的结果排序。

所以用2楼的方法了。

select 地点,COUNT(*) as 数量,sum(IIF([全部违纪].[队属]='内部', 1, 0)) as 内部,sum(IIF([全部违纪].[队属]='外部', 1, 0)) as 外部
from 全部违纪
group by 地点
order by sum(IIF([全部违纪].[队属]='内部', 1, 0));


==== ====

YangZhongLiang 2008-05-14
  • 打赏
  • 举报
回复
^_^你这个方法可以,但是

TRANSFORM COUNT([全部违纪].[地点])

SELECT [全部违纪].[地点], COUNT( * ) AS 数量
FROM 全部违纪
GROUP BY [全部违纪].[地点]
ORDER BY COUNT([全部违纪].[地点]) DESC <-这句有问题,说不能有合计数.但去掉TRANSFORM 和 PIVOT 行查询是成功的.

PIVOT IIF([全部违纪].[队属]='内部', '内部', '外部');

这里面为什么不能用合计呢?如果字段不固定的情况下我想用 COUNT(*)排序又该怎么办呢???
wwwwb 2008-05-14
  • 打赏
  • 举报
回复
将记录及正确结果贴出来看看
YangZhongLiang 2008-05-14
  • 打赏
  • 举报
回复
这个方法我试过了,但只能用地点排序.我想用 COUNT( * ) AS 数量 这个字段排序
liuyann 2008-05-14
  • 打赏
  • 举报
回复

其实建议直接用查询就行了,因为你的列是固定的。

select 地点,COUNT(*) as 数量,sum(IIF([全部违纪].[队属]='内部', 1, 0)) as 内部,sum(IIF([全部违纪].[队属]='外部', 1, 0)) as 外部
from 全部违纪
group by 地点
order by 地点


==== ====

liuyann 2008-05-14
  • 打赏
  • 举报
回复

TRANSFORM Count(全部违纪.地点) AS 地点OfCount
SELECT 全部违纪.地点
FROM 全部违纪
GROUP BY 全部违纪.地点
ORDER BY 全部违纪.地点
PIVOT IIF([全部违纪].[队属]='内部', '内部', '外部');


==== ====

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧