如何在数据库字段中按升序排序内容(SQL)

时间:2012-11-02 01:46:03

标签: mysql sql

我在下面有这个查询:

   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中进行哪些更改才能实现此目的吗?

2 个答案:

答案 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而不是'(没有),否则你的答案会被混合在一起。