将选定的 MySQL 值转换为逗号分隔的字符串
使用 MySQL 时,经常需要检索数据并将其转换为更易于管理的格式。一个常见的要求是将选定值的列表转换为逗号分隔的字符串。
考虑以下场景:您有一个名为 table_level 的表,其中包含一个名为 id 的列和一个parent_id 列。您想要选择parent_id等于4的所有id值并将它们转换为单个逗号分隔的字符串。
问题陈述:
您的初始代码是如下所示:
SELECT id FROM table_level WHERE parent_id = 4;
此查询将正确返回 id 值,但会将它们显示为单独的行,从而很难将它们作为单个字符串使用。
所需输出:
所需输出应采用以下逗号分隔的字符串格式:
"5,6,9,10,12,14,15,17,18,779"
解决方案:
为了获得所需的输出,您可以利用 MySQL 的 GROUP_CONCAT() 函数。此函数连接指定列中的值,并用指定的分隔符分隔。在这种情况下,分隔符将为逗号。
修改后的查询:
SELECT GROUP_CONCAT(id) FROM table_level WHERE parent_id = 4 GROUP BY parent_id;
此修改后的查询使用 GROUP_CONCAT() 连接 id 值,用逗号,变成一个字符串。 GROUP BY 子句确保仅对指定的parent_id 值(本例中为4)执行串联。
输出:
执行修改后的查询将生成所需的逗号分隔字符串输出:
"5,6,9,10,12,14,15,17,18,779"
以上是如何将 MySQL 值转换为逗号分隔的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!