Có lẽ bạn muốn một cái gì đó như:
GROUP BY IF(fullName LIKE '%/testfolder/%', 1, IF(fullName LIKE '%/testfolder2/%', 2, 3))
Ý tưởng chính cần hiểu là một biểu thức như fullName LIKE foo AND fullName LIKE bar
là toàn bộ biểu thức sẽ nhất thiết phải đánh giá thành TRUE
hoặc FALSE
, vì vậy bạn chỉ có thể nhận được tổng số hai nhóm trong số đó.
Sử dụng IF
biểu thức để trả về một trong một số các giá trị khác nhau sẽ cho phép bạn có nhiều nhóm hơn.
Hãy nhớ rằng điều này sẽ không quá nhanh. Nếu bạn có một tập dữ liệu rất lớn, bạn nên khám phá các cách lưu trữ dữ liệu khác mà không yêu cầu LIKE
so sánh để thực hiện việc phân nhóm.