Group_CONCAT()检索信息

时间:2019-09-22 13:10:35

标签: mysql phpmyadmin

我有3张桌子,但我认为现在只需要2张桌子。这些表称为

1:运动员 2:training_session 3:俱乐部

training_session club

我想为每个国家/地区检索在该国家/地区的俱乐部内执行的转帐活动,其他活动在每个列表中均以“,”分隔,不存在重复值

SELECT activity GROUP_CONCAT (DISTINCT activity ORDER BY activity 
SEPARATOR ',') as "test" FROM training_session group by activity

我希望它会返回2行,这就是我想要的

1 个答案:

答案 0 :(得分:0)

您没有显示表的所有列,但是作为有根据的猜测,我认为您需要这里的三个表。您可以从training_sessions开始,然后基于athletes加入athlete_id,最后基于club加入club_id。然后,您可以按俱乐部国家/地区进行汇总,并使用您似乎已经知道的GROUP_CONCAT(DISTINCT ...)

SELECT
    c.country,
    GROUP_CONCAT(DISTINCT ts.activity ORDER BY activity) activities
FROM training_session ts
INNER JOIN athlete a ON a.id = ts.athlete_id
INNER JOIN club c ON c.id = a.club_id
GROUP BY c.country
相关问题