我有两个表,scoreTable 和 users。我试图在 scoreTable 上按哈希分组,但选择所有具有该哈希的用户名。 scoreTable 只有 id
SELECT st.score,
GROUP_CONCAT(st.uid) as userList
FROM scoreTable st
GROUP BY hash
对于上面的查询,我得到了 userList 中的用户 ID 列表:'1,2,3,4'
我想得到的是实际的“名称”而不是 id - 名称在另一个表(用户)上
SELECT st.score,
(SELECT group_concat(d.name) from users d d where d.uid = st.uid))
FROM scoreTable st
GROUP BY hash
但出于某种原因,这只显示一个用户(具有第一个 id 的用户)。
最佳答案
只需加入 users
表:
SELECT st.score, group_concat(d.name)
FROM scoreTable st
JOIN users d ON d.uid = st.uid
GROUP BY hash
关于mysql - group_concat mysql子查询只返回一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20711142/