Trong một IF
kiểm tra biểu thức nếu bất kỳ giá trị nào là NULL trong nhóm. Tôi có thể nghĩ ra một số cách để làm điều đó:
1) Đếm các giá trị không rỗng và so sánh nó với số hàng trong nhóm:
SELECT a, IF(COUNT(b) = COUNT(*), GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a
Xem nó hoạt động trực tuyến: sqlfiddle
2) Đếm số lượng giá trị rỗng bằng SUM
:
SELECT a, IF(SUM(b IS NULL) = 0, GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a
Xem nó hoạt động trực tuyến: sqlfiddle