sql >> Database teknologi >  >> RDS >> Mysql

GROUP_CONCAT returnerer NULL, hvis en værdi er NULL

I en IF udtryk check, om en værdi er NULL i gruppen. Jeg kan komme i tanke om et par måder at gøre det på:

1) Tæl værdierne, der ikke er nul, og sammenlign dem med antallet af rækker i gruppen:

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

Se det fungere online:sqlfiddle

2) Tæl antallet af nulværdier ved hjælp af SUM :

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

Se det fungere online:sqlfiddle




  1. MySQL-forbindelse virker ikke:2002 Ingen sådan fil eller mappe

  2. PHP-vedhæftet fil i e-mail er tom

  3. oracle 11g og integration af hibernate spring og jsf

  4. Konverter Varchar2 til Char-array i Oracle