Necesito contar las filas no vacías (me refiero a una cadena que contiene al menos 1 carácter) agrupadas por una ID particular. P.ej. mis datos podrían tener este aspecto:Contar y agrupar valores no vacíos en MySQL
form_id mapping
1 'value_1'
1 ''
1 'value_2'
2 ''
2 NULL
3 'value_3'
y quiero contar los valores no vacíos para cada formulario, por lo que desea que los resultados se ven así:
form_id mapping_count
1 2
2 0
3 1
Si los valores vacíos eran todos NULL, supongo que podría utilizar
SELECT form_id, count(mapping) FROM table GROUP BY form_id
... pero eso incluiría cadenas de longitud cero en la cuenta, lo que no quiero.
Podría utilizar una cláusula where para solo devolver filas donde exista un valor en la columna de asignación, pero quiero devolver los ID de formulario que no tienen asignaciones, por lo que tampoco sirve.
Supongo que necesito una subconsulta de algún tipo, pero estoy teniendo problemas para armarla.
Grande, gracias por eso - yo no había llegado a través de la función NULLIF antes. Exactamente lo que necesitaba. :) – Russ