240 发简信
IP属地:北京
  • 这个考察的是结构化思维的能力吧

  • 使用嵌套查询也可以呀,
    SELECT *
    from Student s
    where SId IN
    (SELECT s2.SID
    FROM SC s2 where CId in (SELECT s3.CID FROM SC s3 where s3.SId = '01')
    group by s2.SId
    having count(S2.SId) = (SELECT count(s3.SId)FROM SC s3 where s3.SId = '01' group by s3.SID ) );

    50道SQL练习题及答案与详细分析

    网上流传较广的50道SQL训练,奋斗了不知道多久终于写完了。前18道题的难度依次递增,从19题开始的后半部分算是循环练习和额外function的附加练习,难度恢复到普通状态。...

  • 第14题完整答案,楼主没有写出课程name:
    select course.CId as '课程id',
    course.Cname as '课程name',
    max(sc.score) as '最高分',
    min(sc.score) as '最低分',
    avg(sc.score) as '平均分',
    count(sc.SId) as '选修人数',
    sum(case when sc.score >=60 then 1 else 0 end)/count(sc.SId) as '及格率',
    sum(case when sc.score >70 and sc.score<=80 then 1 else 0 end)/count(sc.SId) as '中等率',
    sum(case when sc.score >80 and sc.score<=90 then 1 else 0 end)/count(sc.SId) as '优良率',
    sum(case when sc.score >=90 then 1 else 0 end)/count(sc.SId) as '优秀率'
    from course left join sc
    on course.CId = sc.CId group by course.CId order by count(sc.SId) desc,course.CId asc;

  • 15.1和16.1没有嘛?
    而且有些题还是有改进空间的,比如15和16题都可以用RANK () OVER ( PARTITION BY……ORDER BY……)来做,
    第15题:
    SELECT sc.cid, sc.sid, sc.score, RANK() OVER(PARTITION BY sc.cid ORDER BY sc.score DESC)排名
    FROM sc;
    第15.1题:
    SELECT sc.cid, sc.sid, sc.score, DENSE_RANK() OVER(PARTITION BY sc.cid ORDER BY sc.score DESC)排名
    FROM sc;
    第16题和16.1题同理

  • 使用窗口函数简便好多,楼主写的那个逻辑,我看不懂,呜呜呜,好绕

    50道SQL练习题及答案与详细分析

    网上流传较广的50道SQL训练,奋斗了不知道多久终于写完了。前18道题的难度依次递增,从19题开始的后半部分算是循环练习和额外function的附加练习,难度恢复到普通状态。...

  • sum(case when s1.score>85 and s1.score<=100 then 1 else 0 end)/count(*) as '%100-85'

    50道SQL练习题及答案与详细分析

    网上流传较广的50道SQL训练,奋斗了不知道多久终于写完了。前18道题的难度依次递增,从19题开始的后半部分算是循环练习和额外function的附加练习,难度恢复到普通状态。...

  • 第16题的答案在SQL Server 上不能用,因此改用以下方法:

    Select SID,SSCORE, rank() over (order by SSCORE DESC) from
    (SELECT SID, sum(SCORE) SSCORE FROM SC group by SID) Q ORDER BY SSCORE DESC ;

    同理,第15题 在SQL Server上可用以下程序:

    USE PLAY;

    SELECT CID,SID,SCORE, RANK() OVER (PARTITION BY CID ORDER BY SCORE DESC) FROM SC ORDER BY CID, SCORE DESC,SID;

  • 13题、16题、18题,有点看不懂,不过使用窗口函数,会简便很多,也更好理解。

    50道SQL练习题及答案与详细分析

    网上流传较广的50道SQL训练,奋斗了不知道多久终于写完了。前18道题的难度依次递增,从19题开始的后半部分算是循环练习和额外function的附加练习,难度恢复到普通状态。...

  • 第11题,仅求出了不及格科目的平均数,及格的科目没有体现在平均数中(巧合的是,刚好拥有两门及以上不及格的学生,每门课的分数都小于60分)下面的代码:平均分为每个人所有科目的平均数
    SELECT SId
    ,Sname
    ,avg_score
    ,count(CId) as no_lesson
    from (
    SELECT s1.SId
    ,s2.Sname
    ,s1.score
    ,s1.CId
    ,AVG(s1.score) over(PARTITION by s1.SId)as avg_score
    from SC s1
    join Student s2 on s2.SId = s1.SId )s3
    where score < 60
    group by SId
    ,Sname
    ,avg_score
    having no_lesson>1;

    50道SQL练习题及答案与详细分析

    网上流传较广的50道SQL训练,奋斗了不知道多久终于写完了。前18道题的难度依次递增,从19题开始的后半部分算是循环练习和额外function的附加练习,难度恢复到普通状态。...

  • 120
    MySQL for Mac 安装教程

    一、到社区下载安装包 二、安装 双击安装包,一路next即可 三、启动MySQL 打开系统偏好设置,会发现多了一个MySQL图标 点击它,会进入MySQL的设置界面: 这里就...

  • 120
    Numpy基础20问

    1、什么是numpy? 一言以蔽之,numpy是python中基于数组对象的科学计算库。 提炼关键字,可以得出numpy以下三大特点: 拥有n维数组对象; 拥有广播功能(后面...

  • 随便积累

    教学方法改革。美国著名心理学家、教育学家布鲁姆[1]提出了一种学习理论。他认为只要我们提供适当的教材和适当的帮助,并且给每一个学生充足的教学时间,基本上所有的学生都可以完成学...

  • 《有效学习》读书笔记

    第一章学以致用 动机是学习活动的终极东西 简而言之:想学习,你得有动机,那这个动机是啥呢,本书的观点是-价值感和意义。因此如果想要学习画画,那就主动地找到画画对于自己的价值是...

  • 120
    写一份专业的数据分析报告,你需要知道这些

    在互联网行业里,很多岗位都需要和数据打交道,比如运营、产品、销售等。数据分析报告的作用在于以特定的形式将数据分析结果展示给决策者,给他们提供决策参考和依据。在职场中,一份专业...

  • 120
    R做多元线性回归全攻略

    R中的线性回归函数比较简单,就是lm(),比较复杂的是对线性模型的诊断和调整。这里结合Statistical Learning和杜克大学的Data Analysis and ...