我有1个表,其中包含6列(ID,用户名,开始,结束,标志,时间戳记),并且我试图使用GROUP_CONCAT来连接这些列。 一切工作正常,除了我没有用于列的分隔符。
SELECT GROUP_CONCAT(start, end, flag SEPARATOR ';') FROM time;
结果如下:
15531696461553177094End Time;15531779481553177962End Time;15531779561553177960End Lunch
我们在这里看到的是2个表中具有相同结构并使用分隔符;
串联的列
在其他服务器上,将列除以,
,结果是:
1553169646,1553177094,End Time;1553177948,1553177962,End Time;1553177956,1553177960,End Lunch
我不知道新服务器的不同之处,因为我无法访问旧服务器。
以前有人遇到过这样的事情吗?我受困于此,因为脚本的以下代码基于预览输出。我想要相同的输出:
1553169646,1553177094,End Time;1553177948,1553177962,End Time;1553177956,1553177960,End Lunch
答案 0 :(得分:1)
您可以编写每条记录的列值,并在切换每条记录时切换记录添加;
,
SELECT GROUP_CONCAT(CONCAT_WS(',',start, end, flag) SEPARATOR ';') FROM time;
CONCAT_WS()代表Concatenate With Separator,是CONCAT()的一种特殊形式。
答案 1 :(得分:0)
首先,使用逗号Concat()
列。然后,您可以执行Group_Concat()
:
SELECT GROUP_CONCAT(CONCAT(start, ',', end, ',', flag) SEPARATOR ';') FROM time;