Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

GROUP_CONCAT mengembalikan NULL jika ada nilai NULL

Dalam IF ekspresi periksa apakah ada nilai NULL dalam grup. Saya dapat memikirkan beberapa cara untuk melakukannya:

1) Hitung nilai bukan nol dan bandingkan dengan jumlah baris dalam grup:

SELECT a, IF(COUNT(b) = COUNT(*), GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a

Lihat itu bekerja online:sqlfiddle

2) Hitung jumlah nilai nol menggunakan SUM :

SELECT a, IF(SUM(b IS NULL) = 0, GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a

Lihat itu bekerja online: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 salah mengizinkan entri duplikat ketika salah satu bidang yang terlibat adalah NULL

  2. MySQL Periksa apakah rentang tanggal dalam rentang tanggal

  3. Bagaimana cara menulis pernyataan persiapan dan eksekusi di OOP PDO?

  4. Apa sebenarnya yang dimaksud dengan M,D dalam desimal(M,D)?

  5. Menyimpan kata sandi untuk MYSQL dalam aplikasi PHP dengan cara yang aman