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

刚学习SQL术语,执行GROUP BY与ORDER BY查询报错求解答

你的SQL查询报错原因解析

你的这条SQL语句存在两个明确问题,导致执行报错:

  • ORDER BY语法错误:ORDER BY DESC是非法写法,DESC是指定排序方向(降序)的关键字,必须跟在具体排序字段名称后面,比如ORDER BY Marks DESC。你未指定排序字段,数据库无法识别排序依据,这是直接的语法错误。

  • GROUP BY与SELECT字段不匹配:按照SQL标准规范,SELECT子句中的字段要么必须出现在GROUP BY子句中,要么需用聚合函数(比如MAX()、MIN()、COUNT())包裹。你现在SELECT的是student_id,但GROUP BY的是Marks——同一个分数可能对应多个学生,数据库无法确定每个分数分组该返回哪个学生ID,大部分数据库(比如PostgreSQL、开启严格模式的MySQL)都会因这个逻辑冲突报错。

如果你的需求是按分数分组、按分数降序排列,且每个分组返回一个学生ID(比如该分数下的最大ID),可以修改为:

SELECT MAX(student_id) AS student_id, Marks
FROM student
GROUP BY Marks
ORDER BY Marks DESC;

内容的提问来源于stack exchange,提问作者ajinkya kedia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 07:09:59