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

SQL Server下按答案组合分组统计共同回答用户数的SQL实现

实现思路

你的表是典型的行式存储问卷结构,每个用户的单条问题回答独占一行,要统计两个问题的答案组合用户数,用自连接关联同一用户的两条回答记录再分组统计即可。

可用SQL查询语句

默认假设两个问题的ID分别为:家庭总薪资问题QuestionId为1、兄弟数量问题QuestionId为2,你可以替换为实际表中对应ID。

SELECT
    t1.QuestionId AS Question1Id,
    t2.QuestionId AS Question2Id,
    t1.Answer AS Answer1,
    t2.Answer AS Answer2,
    COUNT(DISTINCT t1.userId) AS [count]
FROM
    替换为你的实际表名 t1
INNER JOIN
    替换为你的实际表名 t2 ON t1.userId = t2.userId
WHERE
    t1.QuestionId = 1
    AND t2.QuestionId = 2
GROUP BY
    t1.QuestionId,
    t2.QuestionId,
    t1.Answer,
    t2.Answer

补充说明
  • 用INNER JOIN保证只统计同时回答了两个问题的用户,如果需要统计仅回答单个问题的用户,可改为FULL OUTER JOIN
  • 用COUNT(DISTINCT t1.userId)避免同一个用户的重复回答记录被多次统计
  • [count]加方括号是因为COUNT是SQL Server的保留字,避免触发语法报错
  • 如果不清楚两个问题对应的QuestionId,也可以把WHERE条件替换为 t1.Question = '你家的总薪资是多少?' AND t2.Question = '你有几个兄弟?'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:54:06