gm_subsurvey - GM调查子问题回答
基于 AzerothCore Characters 数据库 · GM服务调查子问题详情表
📋 表概述
gm_subsurvey 表存储玩家在GM满意度调查中对每个子问题的具体回答。一份主调查可包含多个子问题(如响应速度、礼貌程度等),此表分别记录每个子问题的答案和评论。
- 子问题逐一评分
- 答题评论记录
- 服务质量细化分析
- 关联主调查
联合主键 (surveyId, questionId),确保同一个调查中的同一个问题不重复记录。通过 surveyId 外键关联 gm_survey 表。
📊 表结构
| 字段名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| surveyId | int UNSIGNED | AUTO_INCREMENT | 关联的主调查ID(联合主键1) |
| questionId | int UNSIGNED | 0 | 问题编号(联合主键2) |
| answer | int UNSIGNED | 0 | 问题答案/评分 |
| answerComment | text | NOT 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 记录。