You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL练习疑问:我的查询与正确答案结果一致为何被判错?

「找出最受欢迎的教室」SQL查询错误原因解析

你的查询存在两个核心问题

  • 输出不符合题目要求:题目明确要“找出最受欢迎的教室”,只需要返回classroom字段即可,但你的语句额外返回了count字段,这可能直接触发了平台的判错规则。
  • 无法覆盖多教室并列第一的场景:
    • 如果有3个甚至更多教室的使用次数都是最高值,你的limit 2只能返回其中2个,漏掉了其他并列的教室;而正确语句会把所有达到最高使用次数的教室都找出来,这才符合“最受欢迎”的完整定义——所有并列第一的都属于最受欢迎范畴。
    • 哪怕当前你测试的数据集里只有2个并列第一,平台的测试用例大概率包含了多并列的场景,导致你的结果不完整,所以被判错。

语句对比

你的查询语句:

select classroom, count (classroom) as count
from Schedule
group by classroom
order by count desc
limit 2

正确查询语句:

select classroom 
from Schedule
group by classroom
having count(classroom) = (select  count (classroom) as count
                           from Schedule
                           group by classroom
                           order by count desc
                           limit 1)

关键差异总结

正确语句通过子查询先拿到最高的使用次数,再用having子句筛选出所有使用次数等于这个最大值的教室,保证所有并列第一的教室都被返回,而不是固定只取前2个。同时它只返回题目要求的classroom字段,没有多余输出。

内容的提问来源于stack exchange,提问作者Vladimir Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 02:05:25