mysql:多个记录合二为一?

时间:2017-11-12 20:49:18

标签: php mysql sql database select

我有一张桌子:

userChoice
 - userId
 - choiceId

此表包含两个外键列。 userId是1到多,所以我会为每个选择提供一个用户的许多记录。有没有办法返回一个包含许多choiceId的记录?

2 个答案:

答案 0 :(得分:2)

group_concat应符合条例草案:

SELECT   user_id, GROUP_CONCAT(choice_id)
FROM     userChoice
GROUP BY user_id

修改
要回答评论中的问题 - 是的,您还可以在此查询中添加where子句。 E.g:

SELECT   user_id, GROUP_CONCAT(choice_id)
FROM     userChoice
WHERE    user_id  = 2
GROUP BY user_id

答案 1 :(得分:1)

您可以通过userId

使用group_concat和grouop
 select userId, group_concat(choiceId)
 from userChoice
 group by userId