后端岗位面试题更新 2026-08-05

SQL中,GROUP BY 后每组取第一个数会有什么问题?

中金所技术公司后端开发风险判断技术原理SQL

考察说明

考察对分组查询语义、非确定性排序及去重陷阱的理解

回答思路

  1. 说明 GROUP BY 结合取第一条记录时依赖排序稳定性
  2. 指出未显式 ORDER BY 时结果不确定,MySQL 5.7 及以下常见的无赖用 ONLY_FULL_GROUP_BY 但非聚合列可能取自任意行
  3. 说明需要借助窗口函数或子查询明确行顺序后再取首行
  4. 避免用非确定性写法导致结果不一致