也许您应该在null列中添加一些内容,以使它们唯一并按此分组?我一直在寻找某种代替UUID()的序列,但是这可能同样有效。
SELECt `table1`.*, IFNULL(ancestor,UUID()) as unq_ancestor GROUP_CONCAt(id SEPARATOR ',') AS `children_ids`FROM `table1` WHERe (enabled = 1) GROUP BY unq_ancestor

也许您应该在null列中添加一些内容,以使它们唯一并按此分组?我一直在寻找某种代替UUID()的序列,但是这可能同样有效。
SELECt `table1`.*, IFNULL(ancestor,UUID()) as unq_ancestor GROUP_CONCAt(id SEPARATOR ',') AS `children_ids`FROM `table1` WHERe (enabled = 1) GROUP BY unq_ancestor