[ Foro de SQL (y MySQL) ]

Resultado NULL

27-Nov-2019 13:06
Piro Checa
6 Respuestas

Estoy intentando sacar el porcentage en una tabla, alguna idea de donde puede estar el error? por ahora me da como resultado en todas las filas NULL
SELECT trip_id, CONCAT(ROUND(100*category/(SELECT category FROM manifest WHERE category='A' LIMIT 1)),'%') AS A
FROM manifest
WHERE category = 'C'
GROUP BY trip_id, A


27-Nov-2019 13:19
Nacho Cabanes (+61)

Ve paso a paso. Comprueba primero si la subconsulta sí funciona:

SELECT category FROM manifest WHERE category='A' LIMIT 1


27-Nov-2019 13:27
Piro Checa

Hola Nacho!
Eso si que funciona, lo unico que no me funciona es  esta parte del codigo
CONCAT(ROUND(100*category/(SELECT category FROM manifest WHERE category='A' LIMIT 1)),'%') AS A


27-Nov-2019 15:22
Nacho Cabanes (+61)

¿Qué quiere decir que "funciona"? En un primer vitazo, yo diría que eso debe dar una A como resultado, luego no podrás calcular 100*category/"A"


27-Nov-2019 15:56
Piro Checa

Con funciona, me refiero a que poniendo lo que tu has dicho si que me aparecen datos,  me aparece el primer  trip_id y una A, pero lo que necesito es el porcentajes de A en el total de toda la tabla, la cual tiene valores en category, A,B y C


27-Nov-2019 17:19
Nacho Cabanes (+61)

Pero no puedes dividir entre "A". Tendrás que usar un "COUNT" o algo parecido, según la lógica exacta que pretendas.


27-Nov-2019 17:25
Piro Checa

Donde tendria que poner el COUNT, porque lo he intentado poner varias veces, y me da error.
Gracias por tus respuestas






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)