mysql,使用group_concat

mysql,使用group_concat,mysql,sql,aggregate-functions,Mysql,Sql,Aggregate Functions,有人能告诉我如何限制MySQL中每个组的GROUP\u CONCAT中的值的数量吗?我正在使用下面的查询,它还为每个组生成2个以上的连接值 SELECT GROUP_CONCAT(remaining) FROM `busroute` GROUP BY bus 有人能告诉我如何修改上述查询以解决我的问题吗?我不知道如何限制分组的行数,我认为您无法做到这一点 但是,如果您只想对两行进行分组,则可以手动进行分组和分组,并且一次只对两行进行分组: SELECT t1.bus, conc

有人能告诉我如何限制MySQL中每个组的
GROUP\u CONCAT
中的值的数量吗?我正在使用下面的查询,它还为每个组生成2个以上的连接值

  SELECT GROUP_CONCAT(remaining) 
    FROM `busroute` 
GROUP BY bus

有人能告诉我如何修改上述查询以解决我的问题吗?

我不知道如何限制分组的行数,我认为您无法做到这一点

但是,如果您只想对两行进行分组,则可以手动进行分组和分组,并且一次只对两行进行分组:

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
选择t1.bus,concat(t1.remaining,,,,t2.remaining)
从公交线路到t1
在t1.bus=t2.bus上以t2的形式连接总线线路
其中t1.id

在这里,我们刚刚获得了busroute表的两个副本,然后在总线号上将它们连接在一起,然后我们在行中获取一些唯一的列值(可以是任何列,只要它的列作为其上设置的唯一属性),并消除行与其自身的匹配。我使用了“在能够使用
GROUP\u CONCAT
之前,您需要一个只包含最终结果中所需值的派生表/内联视图”。这个问题缺乏正确回答所需的大量细节。