Bạn có thể thực hiện việc này mà không cần sử dụng hàm PHP bằng cách tận dụng hàm group_concat của MySQL, hàm này thực hiện chính xác những gì bạn đang tìm kiếm:
SELECT name, group_concat(`data`) FROM table GROUP BY name;
Sẽ trả về một cột có "John" và cột thứ hai với "data1, data2". Sau đó, bạn có thể sử dụng hàm boom () của PHP trên cột thứ hai để lấy một mảng chứa "data1" và "data2".