Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

GROUP_CONCAT trả về NULL nếu bất kỳ giá trị nào là NULL

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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL:COUNT với mệnh đề GROUP BY, LEFT JOIN và WHERE không trả về giá trị 0

  2. JSON_REMOVE () - Xóa dữ liệu khỏi tài liệu JSON trong MySQL

  3. Làm cách nào để ngăn chặn việc sử dụng các chữ số trong cột VARCHAR bằng cách sử dụng mysql?

  4. Chọn phòng trống giữa hai ngày

  5. PHP PDOException:SQLSTATE [HY000] [2019] Không thể khởi tạo bộ ký tự utf8mb4