MySql在结果中同时查询两个字段
因此,我有下表:MySql在结果中同时查询两个字段,mysql,sql,Mysql,Sql,因此,我有下表: retailer register store 1 104 b 1 101 a 2 104 b 2 101 a 3 104 b 3 101 a 我希望查询表以获得如下结果: retailer register store 1 _ 101, 10
retailer register store
1 104 b
1 101 a
2 104 b
2 101 a
3 104 b
3 101 a
我希望查询表以获得如下结果:
retailer register store
1 _ 101, 104 _ a, b
2 _ 101, 104 _ a, b
3 _ 101, 104 _ a, b
您可以使用group_concat和group by
select
retailer
, group_concat(register ORDER BY registed ASC SEPARATOR ', ')
, group_concat(store ORDER BY store ASC SEPARATOR ', ')
from my_table
group by retailer
如果你需要saparator你应该用concat
select
concat ( retailer
, '_'
, group_concat(register ORDER BY registed ASC SEPARATOR ', ')
, '_'
, group_concat(store ORDER BY store ASC SEPARATOR ', '))
from my_table
group by retailer
您可以将group by和group_CONCAT与ORDER by和SEPTOR一起使用
select retailer,
GROUP_CONCAT(register ORDER BY register DESC SEPARATOR ', ') AS register,
GROUP_CONCAT(store ORDER BY store DESC SEPARATOR ', ') AS store
from my_table
GROUP BY retailer
retailer register store
1 101, 104 a, b
2 101, 104 a, b
3 101, 104 a, b
预期结果中的逗号是表示列分隔符,还是所有结果的字符串都用逗号分隔different@RaminDarvishov . 更好地解释您的结果将是不同的顺序,并且没有分隔符','(逗号)是默认分隔符,但用户希望使用逗号space@RaminDarvishov如果这是您所需要的,asnwer将被更新,并且在列之间有一个“\u”。。串联