我有一个按所需列进行分组的查询,以便获得所需的结果,然后我需要返回应通过按另一个字段对先前结果进行分组来完成的结果。 所以基本上我有一个调查表,
sql = SELECT * FROM Survey S
WHERE S.UserId = 79
Group By S.SurveyNumber
Having SUM (S.Counter) <> 0 ORDER BY S.SubmittedDate DESC
这将返回按编号分组的调查,然后我需要按调查名称对结果进行分组,并返回该调查名称的上次提交的调查 (Max(subscribedDate). 我可以使用一个查询来实现这一目标吗?如果我有
GroupBy S.SurveyNumber, S.SurveyName
然后它会尝试查找两列都相同。 我该怎么做?
最佳答案
我认为它有效:
SELECT
S2.SurveyName
,SUM(S2.Count) as SurveyCount
FROM (
select
SUM(S.SurveyNumber) as Count
,S.SurveyName
FROM Survey S
where S.SurveyNumber <> 0
Group By S.SurveyNumber,S.SurveyName
) as S2
Group By S2.SurveyName
关于mysql - 按一个字段分组,然后按另一字段对结果分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49239995/