MySQL如何从该选择中选择和构建一个集合?

时间:2013-01-23 04:07:19

标签: mysql

我如何使用MYSQL做这样的事情?

user_id  user_group_id   is_primary
1        2               1
1        3               0
1        4               0
2        2               0
2        3               1
3        2               0
3        3               1

这样的东西
user_id   user_group_ids
1         3,4
2         2
3         2

基本上声明就是这样......

SELECT user_id, user_group_ids FROM tablename WHERE is_primary = 0

因此,我只是试图获得不是主要的SET并从中构建一个SET。我想用SELECT语句执行此操作。允许我构建user_group_ids的select语句将用于在另一个表中设置user_group_ids记录。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

SELECT
   user_id,
   GROUP_CONCAT(user_group_id) as user_group_id
FROM mytable
WHERE is_primary = 0
GROUP BY user_id

Demo Here

答案 1 :(得分:0)

您可以使用

SELECT user_id, group_concat(user_group_ids) as user_group_ids 
FROM tablename 
WHERE is_primary = 0 
GROUP BY user_id

这将通过user_id

将user_group_ids组合在一起