我在下面有这个查询:
SELECT q.QuestionId,GROUP_CONCAT(DISTINCT Answer SEPARATOR '') AS Answer
FROM Question q
INNER JOIN Answer an ON q.QuestionId = an.QuestionId
GROUP BY an.QuestionId
否则你可以在我的select语句中看到我有这个字段(DISTINCT Answer SEPARATOR '') AS Answer
。现在让我们在输出中说出它输出如下:
Answer
ECB
FDA
我希望按字母顺序排列答案,以便它显示如下:
Answer
BCE
ADF
有人知道我需要在SQL中进行哪些更改才能实现此目的吗?
答案 0 :(得分:1)
您应该可以添加
ORDER BY ANSWER
到查询结尾以获得所需的结果。
注意:您可能希望将列别名为COLLATED_ANSWER,以消除混淆。
答案 1 :(得分:0)
阅读文档有时很有用。 MySQL GROUP_CONCAT
SELECT q.QuestionId,GROUP_CONCAT(DISTINCT Answer
ORDER BY Answer
SEPARATOR '') AS Answer
FROM Question q
JOIN Answer an ON q.QuestionId = an.QuestionId
GROUP BY an.QuestionId
请注意使用合理的东西作为SEPARATOR而不是'(没有),否则你的答案会被混合在一起。