ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > SQL in Excel > 如何查询“001”课程比“002”课程成绩高的所有学生的学号?

如何查询“001”课程比“002”课程成绩高的所有学生的学号?

作者:绿色风 分类: 时间:2022-08-17 浏览:213
楼主
wise
Q:如何在Excel中用SQL查询“001”课程比“002”课程成绩高的所有学生的学号?
源数据:

 
结果:

 
A:使用如下SQL语句,关键是HAVING (((Sum(IIf(CID="001",score,0))>Sum(IIf(CID="002",score,0)))=True) AND ((Sum(IIf(CID="002",score,0)))>0))这个条件。

  1. SELECT SID
  2. FROM [SC$]
  3. GROUP BY SID
  4. HAVING (((Sum(IIf(CID="001",score,0))>Sum(IIf(CID="002",score,0)))=True) AND ((Sum(IIf(CID="002",score,0)))>0))

SC.rar
2楼
wenshui2006
学习了,,,,,对SQL一点都不懂,,,,,
3楼
海洋之星

and后面的语句是什么作用啊
4楼
水星钓鱼

应该是为了防止只上了001课程的记录也被查询出来了。
5楼
mn860429
  1. select sid from [sc$a:c] where cid in('001','002') group by sid having sum(1)=2 and first(score)>last(score)

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap