SQL面试题更新 2026-08-03

请编写一条SQL语句,用来统计每个页面在每个月被访问的总次数,并且要求查询结果按照页面ID和月份进行排序。

考察说明

考查对SQL分组聚合以及排序用法的掌握情况。

回答思路

  1. 【回答框架 1】使用GROUP BY子句按页面ID和月份进行分组,以计算每个分组的总访问次数。
  2. 【回答框架 2】选择页面ID字段、月份字段以及使用COUNT函数统计访问次数。
  3. 【回答框架 3】使用ORDER BY子句对结果集进行排序,首先按页面ID排序,然后按月份排序。
  4. 【回答框架 4】对于月份字段,通常需要从访问时间戳中提取,可使用DATE_FORMAT或EXTRACT等函数,根据具体数据库系统选择合适方法。
  5. 【回答框架 5】确保所选字段在分组依据中,符合SQL标准要求。
  6. 【关键点 1】使用GROUP BY页面ID、月份对数据进行分组。
  7. 【关键点 2】使用COUNT(*)计算每个分组的访问总次数。
  8. 【关键点 3】ORDER BY页面ID,月份实现按页面ID和月份排序。
  9. 【易错点 1】分组字段必须出现在SELECT列表中,否则SQL语句可能报错。
  10. 【易错点 2】提取月份时要注意数据库函数差异,如MySQL使用DATE_FORMAT,PostgreSQL使用EXTRACT或to_char。