Sql 列可能不明确的分组依据
假设我有下表Sql 列可能不明确的分组依据,sql,group-by,Sql,Group By,假设我有下表 SurveyID, Question 1, Question 2 -------------------------------- 1 | 5 | NULL 1 | NULL | 9 2 | 7 | NULL 2 | NULL | 10 3 | 9 | NULL 3 | NULL | 10 如何通过调查分组,
SurveyID, Question 1, Question 2
--------------------------------
1 | 5 | NULL
1 | NULL | 9
2 | 7 | NULL
2 | NULL | 10
3 | 9 | NULL
3 | NULL | 10
如何通过调查分组,获得问题1和问题2的1个记录
我试过
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
未指定数据检索规则,因此我假设您希望为每个surveyid获取最大值。如果是这种情况,请使用聚合函数
max
:
select
surveyid,
max([Question 1]) as [Question 1],
max([Question 2]) as [Question 2]
from yourtable
group by surveyid
请注意,
GROUP BY
子句现在只包含我们希望在输出中获得一条记录的每个值的surveyid。未指定数据检索规则,因此我假设您希望获得每个surveyid的最大值。如果是这种情况,请使用聚合函数max
:
select
surveyid,
max([Question 1]) as [Question 1],
max([Question 2]) as [Question 2]
from yourtable
group by surveyid
请注意,
GROUP BY
子句现在只包含我们希望在输出中获得一条记录的每个值的surveyid。是的,谢谢,这有助于将问题1和2分组是的,谢谢,这有助于将问题1和2分组在一起