Mysql 如何检索具有两个不同别名的同一列?

Mysql 如何检索具有两个不同别名的同一列?,mysql,sql,Mysql,Sql,我有一个名为“答案”的表格,有四列,其中添加了具有正排名和负排名的答案,我想检索具有不同别名的答案,用于具有正排名的答案和具有负排名的答案。有没有办法用两个不同的别名检索同一列 id answer rank question_id 1 Yes 1 1 2 No 2 1 3 True -2 2 4 False -1 2 我想以逗号分隔列表的形式给出答案,我尝试过,但没有成功 SELECT CA

我有一个名为“答案”的表格,有四列,其中添加了具有正排名和负排名的答案,我想检索具有不同别名的答案,用于具有正排名的答案和具有负排名的答案。有没有办法用两个不同的别名检索同一列

id  answer  rank  question_id

1   Yes      1       1
2   No       2       1
3   True    -2       2
4   False   -1       2
我想以逗号分隔列表的形式给出答案,我尝试过,但没有成功

SELECT CASE WHEN a.rank > 0 THEN GROUP_CONCAT(a.answer)  END AS answer,
       CASE WHEN a.rank < 0 THEN GROUP_CONCAT(a.answer)  END AS matrix
FROM answers a.
当a.rank>0时选择CASE,然后将GROUP_CONCAT(a.answer)结束为answer,
当a.rank<0时,则组_CONCAT(a.answer)作为矩阵结束
答案a。
选择group_concat(排名>0时为案例,然后选择answer end)作为pos_答案,
作为阴性回答的组(等级<0时,则回答结束)
根据答案
您可以尝试以下操作:

SELECT GROUP_CONCAT(IF(rank>0,answer,NULL)) as positive_ans, GROUP_CONCAT(IF(rank<0,answer,NULL)) as negative_ans FROM answers

选择GROUP_CONCAT(IF(rank>0,answer,NULL))作为肯定答案,GROUP_CONCAT(IF(rankhow)我可以将其与GROUP_CONCAT一起使用吗?我不知道你的意思。请更新你的问题以进行详细解释。我如何以逗号分隔的列表的形式进行此操作?
SELECT GROUP_CONCAT(IF(rank>0,answer,NULL)) as positive_ans, GROUP_CONCAT(IF(rank<0,answer,NULL)) as negative_ans FROM answers