假设我有下表
SurveyID, Question 1, Question 2
--------------------------------
1 | 5 | NULL
1 | NULL | 9
2 | 7 | NULL
2 | NULL | 10
3 | 9 | NULL
3 | NULL | 10
我如何通过SurveyID分组获得问题1和1的1条记录? 2?
我试过......
SELECT SurveyID, [Question 1], [Question 2]
GROUP BY SurveyID, [Question 1], [Question 2]
这给了我上面的结果,我正在寻找下面的那个。
SurveyID, Question 1, Question 2
--------------------------------
1 | 5 | 9
2 | 7 | 10
3 | 9 | 10
答案 0 :(得分:2)
未指定数据检索规则,因此我假设您希望获得每个surveyid的最大值。如果是这种情况,请使用汇总函数max
:
select
surveyid,
max([Question 1]) as [Question 1],
max([Question 2]) as [Question 2]
from yourtable
group by surveyid
请注意,GROUP BY
子句现在只包含我们希望在输出中获取一条记录的每个值的surveyid。