来自GROUP_BY的两个LEFT JOIN的GROUP_CONCAT的奇怪重复
这是我所有表格的结构和查询(请关注最后一个查询,如下所示)。正如你在小提琴中看到的,这是当前的输出:
+---------+-----------+-------+------------+--------------+
| user_id | user_name | score | reputation | top_two_tags |
+---------+-----------+-------+------------+--------------+
| 1 | Jack | 0 | 18 | css,mysql |
| 4 | James | 1 | 5 | html |
| 2 | Peter | 0 | 0 | null |
| 3 | Ali | 0 | 0 | null |
+---------+-----------+-------+------------+--------------+
这是正确的,一切都很好。
现在我还有一个名为“category”的存在。每个帖子只能有一个类别。而且我还希望为每个用户获得前两个类别。而这里是我的新的查询。正如您在结果中看到的,发生了一些重复:
+---------+-----------+-------+------------+--------------+------------------------+
| user_id | user_name | score | reputation | top_two_tags | top_two_categories |
+---------+-----------+-------+------------+--------------+------------------------+
| 1 | Jack | 0 | 18 | css,css | technology,technology |
| 4 | James | 1 | 5 | html | political |
| 2 | Peter | 0 | 0 | null | null |
| 3 | Ali | 0 | 0 | null | null |
+---------+-----------+-------+------------+--------------+------------------------+
看到?css,css,technology, technology。为什么这些是重复的?我只是增加了一个LEFT JOIN对categories,一模一样tags。但它不能按预期工作,甚至也会对标签产生影响。
有谁知道我怎么能做到这一点?
慕丝7291255
相关分类