You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计特定调查问卷的作答结果并关联查询选项对应票数?

正确SQL实现

你需要的绑定选项文本与对应作答计数的单条SQL可以用LEFT JOIN实现,该写法会自动保留所有当前问题的选项,没人选择的选项计数会返回0,不会出现统计遗漏:

SELECT 
  c.text AS choice_text,
  COUNT(a.choice_id) AS answer_count
FROM choice c
LEFT JOIN answer a 
  ON c.choice_id = a.choice_id 
  AND c.question_id = a.question_id
WHERE c.question_id = 12
GROUP BY c.choice_id, c.text

你后续替换12为Flask session中存储的question_id动态值即可,注意要使用参数化查询传参,不要直接拼接SQL字符串,避免SQL注入风险。

之前写法的常见问题

你之前的失败尝试大多存在以下问题:

  • 未关联choice表和answer表的choice_id字段,导致表交叉关联,计数结果完全错误
  • 使用内连接关联answer表,会直接过滤掉没有人选择的选项,统计结果不全
  • SELECT子句中的非聚合字段和GROUP BY子句不匹配,在严格模式的数据库中会直接抛出语法错误

内容的提问来源于stack exchange,提问作者Garrett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:54:09