Mysql 如何用一个sql检查多条记录中的列值是否相同

Mysql 如何用一个sql检查多条记录中的列值是否相同,mysql,sql,Mysql,Sql,假设有一张桌子 id desc 1 a 1 b 1 c 1 a 2 a 2 a 我想做的是,如果同一id下的desc不同,则显示desc的混合,其他则显示desc的值,如下所示 id desc 1 a/b/c 2 a 我如何在一个sql中完成它 在此处输入代码我想您需要使用distinct修饰符的group_concat(): select id, group_conca

假设有一张桌子

id      desc
1        a
1        b
1        c
1        a
2        a
2        a
我想做的是,如果同一id下的desc不同,则显示desc的混合,其他则显示desc的值,如下所示

id     desc
1      a/b/c
2      a
我如何在一个sql中完成它


在此处输入代码

我想您需要使用
distinct
修饰符的
group_concat()

select id, group_concat(distinct `desc` separator '/') as `desc`
from t
group by id;
请注意,
desc
对于列来说是个坏名字,因为它是SQL关键字(想想
orderby
)。在选择名称时,最好避免使用语法元素