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
)。在选择名称时,最好避免使用语法元素