假设我有一张桌子:
我
---
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/