题解 | #浙大不同难度题目的正确率#

浙大不同难度题目的正确率

https://www.nowcoder.com/practice/d8a4f7b1ded04948b5435a45f03ead8c

SELECT
    q1.difficult_level,
    SUM(
        CASE
            WHEN q.result = 'right' THEN 1
            ELSE 0
        END
    ) / COUNT(q.question_id) AS correct_rate
FROM
    user_profile AS u
    JOIN question_practice_detail AS q ON u.device_id = q.device_id
    AND u.university = '浙江大学'
    JOIN question_detail AS q1 ON q.question_id = q1.question_id
GROUP BY
    q1.difficult_level
ORDER BY
    correct_rate ASC;

在SQL查询中,只能有一个GROUP BY子句。

GROUP BY correct_rate是无效的,因为你已经在计算正确率,而正确率是聚合结果,不能直接在GROUP BY中再次引用。

不要忘了还有ORDER BY这个函数

全部评论

相关推荐

李橙子:结果虽不够理想,但过程本身已是宝贵的淬炼。能把学习机会放在薪酬之前,证明你目光长远。先踏实进去,用这段时间扎实学好Python后端,把公司项目吃透,你的价值会在下一份工作中完全体现。这个起点,值得。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务