【发布时间】:2018-01-29 15:01:39
【问题描述】:
假设有一个简单的表,比如多对多关系。
person_id | preferred_color
-------------------
1 | BLUE
1 | RED
2 | BLUE
3 | BLUE
3 | RED
4 | BLUE
5 | BLUE
5 | RED
5 | GREEN
6 | RED
6 | GREEN
我想要的是一个 SQL 查询来返回多对多关系中的所有可能值;对于给定的示例,一个人所有可能最喜欢的颜色:[(BLUE, RED), (BLUE), (BLUE,RED,GREEN), (RED, GREEN)]。
通过简单的选择,只选择一种首选颜色的可能性非常容易;即使有两个两个首选的颜色也是可能的,带有一个自我连接。但是有不同数量的首选颜色?
【问题讨论】:
-
GROUP BY, GROUP_CONCAT
-
@jarlh 谢谢。它适用于组 concat。