SQL面试题更新 2026-08-05

请用 SQL 写出查询语句,返回所有总访问次数超过 2 的页面及其对应的总访问次数。

编码实现技术原理SQL

考察说明

考查对 SQL 分组聚合与 HAVING 过滤条件的掌握。

回答思路

  1. 【回答框架 1】使用 GROUP BY 按页面分组,对访问次数求和,得到每个页面的总访问次数。
  2. 【回答框架 2】使用 HAVING 子句过滤分组后的结果,保留总访问次数大于 2 的页面。
  3. 【回答框架 3】SELECT 子句中同时输出页面字段和聚合函数 SUM(访问次数) 的结果,不需要额外嵌套子查询。
  4. 【回答框架 4】注意 HAVING 是在分组后过滤,而 WHERE 是在分组前过滤,本题条件针对聚合结果,必须用 HAVING。
  5. 【关键点 1】GROUP BY 按页面分组,SUM 求总访问次数
  6. 【关键点 2】HAVING 用于过滤聚合后的结果,条件为 SUM(访问次数) > 2
  7. 【关键点 3】SELECT 中可包含分组字段和聚合函数
  8. 【易错点 1】误用 WHERE 过滤聚合条件,导致语法错误或结果错误
  9. 【易错点 2】忘记对非聚合字段进行分组,或分组字段不完整
  10. 【易错点 3】将 HAVING 与 WHERE 的位置或用法混淆