-1

我有几次从左连接查询返回的行,除了一个之外,所有列都相等。这些列将按顺序排列。

不相等的列我想使用 CONCAT_WS 聚合成一个值,并且除了我希望聚合的行之外,在输出结果中只有一行是相等的。

我可以用 PHP 脚本做到这一点,但我想知道是否可以使用 SQL 语句

我正在使用 mariaDB 作为我的 mySQL 服务器

例子

col1    col2    col3    col4    col5

aa      bb      cc      dog     dd
aa      bb      cc      cat     dd
aa      bb      cc      pig     dd
aa      bb      cc      monkey  dd
aa      bb      cc      bear    dd

我想为这些记录获得一个结果,如下所示。从选择查询中将有许多这些样式记录的块以及单个唯一值行。

col1    col2    col3    col4                            col5
aa      bb      cc      dog,cat,pig,monkey,bear         dd

使用 CONACAT_WS(",", rec1.col4, rec2.col4, rec3.col4,rec4.col4,rec5.col4)

以上是否可能仅使用 SQL ?

这似乎是一种可能的情况,其他人可能想要这样做。

我想做的事情可能有一个技术术语,但我不知道。

谢谢

mcl

4

1 回答 1

0

您应该尝试添加“group by col1”这将在一行中聚合在该列中具有相同值的每条记录

于 2021-02-04T20:39:43.580 回答