有人能告诉我如何限制MySQL中每个组GROUP_CONCAT
的值数量?我正在使用以下查询,该查询还为每个组生成2个以上的连接值
SELECT GROUP_CONCAT(remaining)
FROM `busroute`
GROUP BY bus
有人可以让我知道如何针对我的问题修改上述查询吗?
答案 0 :(得分:0)
我不知道如何限制分组的行数,我认为你不能这样做。
但是,如果您只想要分组两行,则可以手动进行分组和group_concat,一次只分组两行:
SELECT t1.bus, concat(t1.remaining, ',', t2.remaining)
FROM busroute as t1
JOIN busroute as t2 on t1.bus = t2.bus
WHERE t1.id < t2.id
这里我们刚刚获得了两个busroute表副本,然后在总线号上将它们连接在一起,然后我们在行中获取一些唯一的列值(可以是任何列,只要它的列作为唯一属性设置它)并消除一行与自己的匹配。我用'&lt;'而不是'&lt;&gt;'因为我只希望匹配同一对非唯一行一次。