SQL面试题更新 2026-08-05

给定一个访问记录表,请写出SQL语句,统计每个页面被访问的总次数。

编码实现SQL

考察说明

考察对SQL分组聚合查询的掌握程度,包括GROUP BY和聚合函数的使用。

回答思路

  1. 【回答框架 1】使用SELECT语句,选择页面字段和计数聚合函数COUNT,对页面进行分组统计。基本语法为SELECT 页面字段, COUNT(*) FROM 访问记录表 GROUP BY 页面字段。
  2. 【回答框架 2】如果需要为结果列命名,可以使用AS别名,例如COUNT(*) AS 访问次数。如果访问记录表中存在重复访问记录,COUNT(*)会统计所有行。
  3. 【回答框架 3】如果需按访问次数排序,可增加ORDER BY 访问次数 DESC。如果使用别名排序,需注意部分数据库支持在ORDER BY中使用别名。
  4. 【回答框架 4】若表中有时间字段,可追加条件过滤特定时间范围,例如使用WHERE条件,但本问题未要求,保持基础查询即可。
  5. 【关键点 1】使用GROUP BY按页面分组。
  6. 【关键点 2】使用COUNT(*)统计每组行数。
  7. 【关键点 3】可选择使用AS为计数列命名。
  8. 【易错点 1】COUNT(*)会包含NULL值行,如果需排除NULL,应使用COUNT(列名)。
  9. 【易错点 2】GROUP BY的列必须出现在SELECT的列中,或包含在聚合函数中。