SELECT equip_set, COUNT(*) AS player_count
FROM (
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(GROUP_CONCAT(Equip ORDER BY Equip), ',', 6 * n), ',', -6) AS equip_set
FROM test_tc_3_Equip
CROSS JOIN (
SELECT 1 AS n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4
) numbers
GROUP BY UID, n
) AS equip_sets
GROUP BY equip_set;
我用这个sql能求出前面几组的装备组,但是如果有100个组,我就要写100次union all,有什么其他办法完成这个需求吗?各位大佬。