0

我怎样才能用 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 的选择语句将用于在另一个表中设置 user_group_ids 记录。

我怎样才能做到这一点?

4

2 回答 2

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

在这里演示

于 2013-01-23T04:10:44.143 回答
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 组合在一起

于 2013-01-23T04:11:08.307 回答