📋 表概述

gm_subsurvey 表存储玩家在GM满意度调查中对每个子问题的具体回答。一份主调查可包含多个子问题(如响应速度、礼貌程度等),此表分别记录每个子问题的答案和评论。

联合主键 (surveyId, questionId),确保同一个调查中的同一个问题不重复记录。通过 surveyId 外键关联 gm_survey 表。

📊 表结构

字段名类型默认值说明
surveyIdint UNSIGNEDAUTO_INCREMENT关联的主调查ID(联合主键1)
questionIdint UNSIGNED0问题编号(联合主键2)
answerint UNSIGNED0问题答案/评分
answerCommenttextNOT NULL玩家的补充评论/意见

🔍 重要字段详解

❓ questionId - 问题编号

详细说明:标识子问题的编号,通常对应预设的问题列表。
  • 1 = GM响应速度
  • 2 = GM专业程度
  • 3 = GM礼貌礼议
  • 4 = 问题解决满意度
  • 问题编号和问题内容在客户端DBC中定义

📝 answer / answerComment - 答案与评论

详细说明:记录玩家对每个子问题的评分和可选评论。
  • answer - INT类型,通常为1~5分评分
  • answerComment - TEXT类型,玩家可在此补充针对该问题的详细意见
  • 玩家如果跳过评论,answerComment为空字符串

💡 SQL示例

示例1:查询某调查的所有子问题回答

SELECT questionId, answer, answerComment FROM gm_subsurvey WHERE surveyId = 1 ORDER BY questionId;

示例2:统计各子问题的平均得分

SELECT questionId, AVG(answer) AS avg_score, COUNT(*) AS total_answers FROM gm_subsurvey GROUP BY questionId ORDER BY questionId;

❓ 常见问题

Q1: 子调查没有对应的主调查会怎样?
这是孤立数据,不应出现。如果发现,通常是数据操作错误。子调查通过 surveyId 必须关联到有效的 gm_survey 记录。