0

我在下面有这个查询:

   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

现在你可以在我的选择语句中看到我有这个字段(DISTINCT Answer SEPARATOR '') AS Answer。现在让我们在输出中说它在下面输出:

Answer

ECB
FDA

我希望按字母顺序排列答案,以便它显示如下:

Answer

BCE
ADF

有谁知道我需要在 SQL 中更改什么才能实现这一点?

4

2 回答 2

1

您应该可以添加

ORDER BY ANSWER

到查询的末尾以获得所需的结果。

注意:您可能希望将列别名为 COLLATED_ANSWER 以消除混淆。

于 2012-11-02T01:48:27.117 回答
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

一定要看看使用合理的东西作为分隔符而不是''(什么都没有),否则你的答案会被混在一起。

于 2012-11-02T02:36:59.717 回答