例如,我使用的是world.sql数据库,这里是什么它看起来像一个简短的样本:MySQL的GROUP_CONCAT返回所有值,而不是值的每列
每个CountryCode:char(3) Language:char(30) IsOfficial:enum('T', 'F') Percentage:float(4,1)
会有几个条目国家代码,看起来像这样:
ABW Dutch T 5.3
ABW English T 9.5
我的目标如下:我想获得一个CountryCode的所有官方语言。也就是说,如果这是所有国家代码为ABW我希望它返回:
ABW Dutch|English
这里是我的MySQL查询:
SELECT
CountryCode,
group_concat(top.offlanguages SEPARATOR "|") AS "Official Languages"
FROM (
SELECT
CountryCode,
Language AS offlanguages
FROM CountryLanguage
WHERE IsOfficial = 'T'
GROUP BY CountryCode
) top
出于某种原因,返回下ABW COUNTRYCODE每一个可能的语言,我无法弄清楚为什么。
也就是说,它返回是这样的:
ABW荷兰语|英语|阿拉伯语| ...(在和和)
@AzizShaikh哪里是用另一种查询与主查询的一部分的需求?没有这个可以做到。对? – rakeshjain
AzizShaikh的解决方案是最好的解决方案吗? – rakeshjain
@rakeshjain我相信你是对的,但我没有测试过。你可以在你的答案中编辑并提到这个。 OP可能会在测试后测试并使用您的建议。 –