假设有一个表
id desc
1 a
1 b
1 c
1 a
2 a
2 a
我想要做的是显示desc的混合,如果相同id下的desc不同,则另外显示desc的值。就像下面一样
id desc
1 a/b/c
2 a
我怎么能在一个sql中做到这一点?
在这里输入代码
答案 0 :(得分:5)
我认为您希望group_concat()
使用distinct
修饰符:
select id, group_concat(distinct `desc` separator '/') as `desc`
from t
group by id;
请注意,desc
是列的错误名称,因为它是SQL关键字(想想order by
)。选择名称时最好避免使用语法元素。