设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 这样的查询怎么实现???(在线等待)))

[复制链接]
跳转到指定楼层
1#
发表于 2003-2-15 18:42:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原始 数据表为:
宿舍    成绩
1102    A
1103    B
1104    B
1105    C
1102    B
1103    B
1104    C
1105    A
1103    C
1104    A
1103    A
成绩栏共分三个档次即ABC,怎样才能利用查询分别计算出各宿舍ABC的的百分率呢,谢谢!!!如果没有的就用0来表示:
宿舍  A       B       C
1102  23%   77%   0%
1103  0%    40%  60%
.
.
.
请各位高手帮忙!谢谢[em06]


[此贴子已经被作者于2003-2-15 9:52:18编辑过]




[此贴子已经被作者于2003-2-15 10:42:07编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-2-15 18:57:00 | 只看该作者
使用 聚合函数 Count 如何
3#
 楼主| 发表于 2003-2-15 19:04:00 | 只看该作者
可是我试过了,不行啊,请高手给做一个例子,谢谢!
4#
发表于 2003-2-15 22:08:00 | 只看该作者
文件下载
用交叉查询
5#
发表于 2003-2-15 22:12:00 | 只看该作者
这个查询真的写累了,试验这个查询花了我近40分钟,唉......

select distinct test.宿舍,Na / nt ,nb / nt,nc / nt
from (select 宿舍,count(宿舍) as NA from test where 成绩='a' group by 宿舍) as ta right join ((select 宿舍,count(宿舍) as NB from test where 成绩='b' group by 宿舍) as tb right join ((select 宿舍,count(宿舍) as NC from test where 成绩='c'  group by 宿舍) as tc right join ((select 宿舍,count(宿舍) as nt from test group by 宿舍) as tt right join test on tt.宿舍=test.宿舍) on tc.宿舍=test.宿舍) on tb.宿舍=test.宿舍 ) on ta.宿舍=test.宿舍


[此贴子已经被作者于2003-2-15 14:12:28编辑过]

6#
发表于 2003-2-15 22:13:00 | 只看该作者
高呀,一个比一个高,先收藏一下啦
7#
发表于 2003-2-15 22:19:00 | 只看该作者
如果我做这个题目,第一反应就是写代码.
象我在上面写的那个查询,如果数据量大,
执行起来不知要花多久......
我觉得,还是少用点复杂查询的好.
多写点语句,适应性更强,修改功能也方便.
8#
发表于 2003-2-15 22:25:00 | 只看该作者
可是,像我们这些不会代码的,只能这样呀
9#
发表于 2003-2-15 22:29:00 | 只看该作者
查询也是代码
10#
发表于 2003-2-15 22:45:00 | 只看该作者
不好意思,上面还要加上 NZ 函数.没注意看要求显示 百分之零
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-13 08:11 , Processed in 0.102737 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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