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

在 SQL 查询中,GROUP BY 后面能否使用 SELECT 列之外的其他列?例如 GROUP BY g1,g2,g3 时,SELECT 中包含 A、B、C、D、E、F 这些列,查询能否正常执行?

中新赛克后端开发专业服务编码实现风险判断技术原理MySQLSQL

考察说明

考察 SQL GROUP BY 与 SELECT 列之间的合法关系及数据库兼容性

回答思路

  1. 明确指出 GROUP BY 子句决定分组键,SELECT 可包含分组键或聚合函数列
  2. 说明非分组键且未聚合的列在严格 SQL 模式下会报错
  3. 区分不同数据库对宽松模式的容忍差异,如 MySQL ONLY_FULL_GROUP_BY
  4. 能解释 GROUP BY 后列顺序不影响分组结果,属于集合操作
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。