Solución:
Usar LENGTH()
para comprobar la longitud del valor de la columna. Devuelve> 0, si hay algún valor, devuelve 0 para un valor vacío o NULO.
También encuadre el valor de la columna en CASE WHEN ... END
cuadra
La consulta final puede verse así:
SELECT country, CASE WHEN LENGTH(os(agent)) > 0 THEN os(agent) ELSE 'Others' END AS SO, COUNT(*)
FROM clicks_data
WHERE country IS NOT NULL AND os(agent) IS NOT NULL
GROUP BY country, os(agent);
¡Espero que esto te ayude!
COALESCE será la solución más adecuada y óptima para su caso
Sintaxis:
COALESCE (VALUE, DEFAULT_VALUE): La función devuelve el valor predeterminado cuando los valores son nulos en caso contrario VALOR;
Consulta
SELECT country, COALESCE(os(agent),'Others') AS SO, COUNT(*)
FROM clicks_data
WHERE country IS NOT NULL AND os(agent) IS NOT NULL
GROUP BY country, os(agent);
Espero que esta sea la solución eficiente para su problema.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)