我有一个名为'artist'的表,其中有-id
,name
,genre
列
我需要找出所有具有相同风格的艺术家。
例如:如果艺术家X的流派为“摇滚”和“经典”,艺术家Y的流派为“经典”和“流行”,艺术家Z的流派为“流行”,则输出示例如下:
first artist | second artist | genre
X | Y | Classic
Y | Z | Pop
最佳答案
使用流派联接数据
排除“镜像重复项”(XY经典与YX经典)并循环(
ZZ-Pop)使用S.id
Select S.Name as FirstArtist,
J.Name as SecondArtist,
S.Genre as CommonGenre
From Artist S
Inner Join Artist J
ON S.Genre = J.Genre and S.id < J.id
关于mysql - 在同一张表的列中组织相似的项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20973708/