group_concat mysql子查询只返回一个项目

时间:2013-12-20 20:04:51

标签: mysql sql

我有两个表,scoreTable和用户。我试图在scoreTable上按哈希分组,但选择具有该哈希的所有用户名。 scoreTable只有ids

SELECT st.score,
GROUP_CONCAT(st.uid) as userList
FROM scoreTable st
GROUP BY hash

对于上述查询,我​​在userList中获取用户ID列表:'1,2,3,4'

我希望得到的是实际的“名称”而不是ids - 名字在另一张桌子上(用户)

SELECT st.score,
(SELECT group_concat(d.name) from users d d where d.uid = st.uid))
FROM scoreTable st
GROUP BY hash

但由于某种原因,这只显示一个用户(具有第一个ID的用户)。

1 个答案:

答案 0 :(得分:2)

只需加入users表:

SELECT   st.score, group_concat(d.name)
FROM     scoreTable st
JOIN     users d ON d.uid = st.uid
GROUP BY hash