mysql,使用group_concat
问题描述:
任何人都可以让我知道如何限制在MySQL中的每个组的GROUP_CONCAT
值的数量?我使用下面的查询也为每个组mysql,使用group_concat
SELECT GROUP_CONCAT(remaining)
FROM `busroute`
GROUP BY bus
任何人都可以让我知道如何修改我的问题上面的查询生产超过2个连接值?
答
我不知道一种方法来限制分组的行数,我认为你不能这样做。
但如果你只打算想有要组两行,您可以在两行做一次分组和手动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表的两个副本,然后将它们连接到总线号码上,然后我们在该行中取一些唯一的列值(只要列上的唯一属性设置为列即可),并消除匹配一排反对自己。我使用'<'而不是'<>',因为我只想匹配同一对非唯一行一次。
在使用'GROUP_CONCAT'之前,您需要一个派生表/内嵌视图,其中只包含最终结果中想要的值。这个问题缺乏正确回答的必要细节。 – 2011-05-16 04:22:10