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

SQL查询nobel_win表时ORDER BY子句year后为何添加winner字段

问题解答

参考方案存在两处不符合需求的问题

  • 第一,SELECT * 不符合字段返回要求:需求明确指定要返回year、subject、winner、country、category五个字段,不能用*返回全部字段,需要明确列出指定字段。
  • 第二,ORDER BY 子句中的winner字段确实不属于需求要求的排序规则,属于参考方案额外添加的非必须内容。

额外添加winner排序的常见原因

如果仅按year DESC排序,当多条记录的year值相同时,这些同一年份的记录返回顺序是不固定的,由数据库底层存储逻辑、查询执行计划决定,每次查询返回的顺序可能存在差异。参考方案添加winner作为第二排序字段,是为了让同一年份的记录默认按获奖者姓名升序排列,让查询结果的顺序更稳定,方便后续比对、查看,但该操作不属于题目要求的必须项。


符合需求的正确SQL写法

SELECT year, subject, winner, country, category
FROM nobel_win
WHERE subject NOT LIKE 'P%'
ORDER BY year DESC;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:39:02