access数据库 中用count(iif()) 的问题?大家帮我

sixgj 2011-07-08 12:52:48

姓名 日期 得分
李四 2011 10
李四 1999 10
王三 1999 10
李四 2002 5

想统计各人得分排名,其中得分10分为优秀 5分为差

排名
姓名 总次数 优秀 差
李四 3 2 1
王三 1 1 0

我的句子为什么不能得出这样的结果?

select 姓名,count(*) as 总次数,count(iif(得分=10,1,0)) as 优秀,count(iif(得分=5,1,0)) as 差 from 表 Group by 姓名) 'order by 得分 Desc');
...全文
255 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
songziying 2011-07-08
  • 打赏
  • 举报
回复
select 姓名,count(*) as 总次数,sum(iif(得分=10,1,0)) as 优秀,sum(iif(得分=5,1,0)) as 差 from 表 Group by 姓名
yqdragon 2011-07-08
  • 打赏
  • 举报
回复
if 判断后为1或0后应该是求和sum了而不是count,改为

select 姓名,count(*) as 总次数,sum(iif(得分=10,1,0)) as 优秀,sum(iif(得分=5,1,0)) as 差 from 表 Group by 姓名 order by 得分 Desc';
bdmh 2011-07-08
  • 打赏
  • 举报
回复
'order by 得分 Desc',这句话加引号什么意思
sixgj 2011-07-08
  • 打赏
  • 举报
回复
晕……刚发了贴就找到了答案。结贴。

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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