Consulta varios COUNT con SELECT UNION en MySQL

  • Autor Autor Aledky91
  • Fecha de inicio Fecha de inicio
Aledky91

Aledky91

Delta
Verificación en dos pasos activada
Hola betas que tal andamos... aquí vengo a preguntaros algo sobre mysql ya que solo se lo básico de bases de datos..

El problema es que estoy haciendo varios SELECT COUNT(*) añadiéndole UNION para así realizar varios count en la misma consulta. Mi problema es que solo me realiza el primer count. He leído en google pero no me entero bien :S

Alguien puede ayudarme?
Gracias 😀
 
Si pusieras como tienes tu consulta quizás alguien te podría ayudar. :distant:
 
Se necesitan más datos.
Parece que se pudiera solucionar con count() y group by

saludos
 
Si usas un UNION, se ejecutan las 3 consultas y se unen en 3 FILAS.
Si lo quieres en columnas, puedes encadenar 3 SUBSELECT dentro de una consulta.

Por ejemplo :

Insertar CODE, HTML o PHP:
SELCT 
( SELECT COUNT(*) TABLA1  ),
( SELECT COUNT(*) TABLA2  ),
( SELECT COUNT(*) TABLA3  )
 
Buenas, lo podrías hacer de una forma similar a la siguiente consulta:

SELECT t.id,
(SELECT COUNT(*) FROM tabla WHERE columna='valor1' and id = t.id) as resultado1,
(SELECT COUNT(*) FROM tabla WHERE columna='valor2' and id = t.id) as resultado2,
(SELECT COUNT(*) FROM tabla WHERE id = t.id) as resultadoTotal
FROM tabla t ;
 
Hola, las funciones de agregacion como COUNT(*) MAX MIN, etc, no pueden ser usadas de la manera que propones, deberias hacer lo que te comento ramz, y hacer una subconsulta por cada valor que intentes obtener. Saludos
 
Lo quieres hacer directo sobre la base de datos o que lenguaje ocupas? Quizas se puede de otra forma, pero creo que te conviene checar esto MySQL con Clase - bases de datos para veas opciones
 
select '1.- Menor de 1 Millon',count(*) from tabla where valor <1000000
union
select '2.- Entre 1 y 2 millones',count(*) from tabla where (valor >1000001 and valor <2000000)
union
select '3.- Entre 2 y 3 millones',count(*) from tabla where (valor >2000001 and valor <3000000)
 
Atrás
Arriba