Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

2 counts en la consulta

Estas en el tema de 2 counts en la consulta en el foro de Mysql en Foros del Web. Hola a todos! Necesito de su ayuda. Dada la siguiente tabla de clientes registrados: Código PHP: id  ||  name  ||  publico  donde el campo publico ...
  #1 (permalink)  
Antiguo 15/07/2009, 15:30
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
2 counts en la consulta

Hola a todos!
Necesito de su ayuda.
Dada la siguiente tabla de clientes registrados:
Código PHP:
id || name || publico 
donde el campo publico obtiene valores uno o cero, cuando el valor es uno esa persona puede crear temas.
Quiero mostrar la cantidad de personas que están habilitadas con respecto del total. O sea tendría que realizar 2 count, uno para contar todos sin restricciones, y otro COUNT para contar solo aquellos que esten publico=1
¿Como lo logro en una sola consulta?
Gracias!
__________________
I am Doyle please insert code.
  #2 (permalink)  
Antiguo 15/07/2009, 15:58
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: 2 counts en la consulta

Hola:

puedes probar con algo como esto:

cuenta los que tienen campo publico 0
select count(*) from tabla where publico=0;
cuenta los que tienen campo publico 1
select count(*) from tabla where publico=1;

ahora las dos juntas:
select (select count(*) from tabla where publico=0) as restringidos, (select count(*) from tabla where publico=1) as no_restringidos from tabla limit 1:

suerte y cualquier cosa aqui estamos para ayudar

me falto agregar un limit para que solo retorne un registro, sino retorna eso tantas veces como registros tenga la tabla
  #3 (permalink)  
Antiguo 16/07/2009, 14:06
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: 2 counts en la consulta

genial, aunque como necesitaba mostrar el total, lo modifique un poco:
Código PHP:
SELECT(SELECT COUNT(*) FROM category1  WHERE public=1) AS restringidos,
(
SELECT COUNT(*) FROM category1) AS total 
FROM category1 LIMIT 1 
quedo perfecto, gracias!
__________________
I am Doyle please insert code.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:04.