假设我有一张桌子:


---
1
a2
3
一个4
b 5
b 6
b 7
b 8
b 9


过分的SELECT a, GROUP_CONCAT(b SEPARATOR ',') GROUP BY a会给我

1,2,3,4
b 5,6,7,8,9


但是,如果我只想获得有限数量的结果,例如2,该怎么办:

1,2
b 5,6


有任何想法吗?

最佳答案

最好的方法是使用SUBSTRING_INDEX()GROUP_CONCAT()

SELECT i, SUBSTRING_INDEX( GROUP_CONCAT(j), ',', 2)
FROM mytable
GROUP BY i;


您不必在这里知道j字段的长度。

关于mysql - MySQL中的数组切片/group_concat限制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/290840/

10-12 05:31