Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL:将所有值分组到一列的COALESCE()函数的替代方法_Mysql_Sql_Google Cloud Sql - Fatal编程技术网

Mysql SQL:将所有值分组到一列的COALESCE()函数的替代方法

Mysql SQL:将所有值分组到一列的COALESCE()函数的替代方法,mysql,sql,google-cloud-sql,Mysql,Sql,Google Cloud Sql,我有一张这样的桌子 使用COALESCE()函数 SELECT COALESCE(column1, column2, column3) combinedColumn from t; 我明白了 然而,我想要这个 我找到了一个使用UNION的方法,但这不是很优雅。除了包含所有值之外,是否有一个函数与COALESCE()类似?谢谢您不能在此处使用合并,因为可能有多个值要返回 联合是最好的解决方案(不是因为空白而联合) 这就是说,如果要维护重复项(如果有的话),可以使用UNION ALL,或者将

我有一张这样的桌子

使用COALESCE()函数

SELECT COALESCE(column1, column2, column3) combinedColumn from t;
我明白了

然而,我想要这个


我找到了一个使用UNION的方法,但这不是很优雅。除了包含所有值之外,是否有一个函数与COALESCE()类似?谢谢

您不能在此处使用合并,因为可能有多个值要返回

联合是最好的解决方案(不是因为空白而联合)


这就是说,如果要维护重复项(如果有的话),可以使用UNION ALL,或者将所有列合并为一个字符串,然后再次将其拆分(避免不惜任何代价进行UNION ALL)

在这里不能使用联合,因为可能要返回多个值

联合是最好的解决方案(不是因为空白而联合)


也就是说,如果要维护重复项(如果有的话),可以使用UNION ALL,或者将所有列合并为一个字符串,然后再次拆分它们(不惜任何代价避免UNION ALL)

如何确定顺序?在这种情况下,顺序并不重要。我只想把所有的值合并成一列,在下一个链接中有一个很好的例子:;试着适应你的案例。你如何确定顺序?在这种情况下,顺序并不重要。我只想把所有的值合并成一列,在下一个链接中有一个很好的例子:;试着适应你的案子。
select column1 from mytable
UNION
select column2 from mytable
UNION
select column3 from mytable