Foros del Web » Programando para Internet » PHP »

Crear una consulta SQL con multiples COUNT

Estas en el tema de Crear una consulta SQL con multiples COUNT en el foro de PHP en Foros del Web. Hola amigos del foro resulta que tengo la siguiente tabla con los campos "id" y "estado" id| estado ----------------- 1 | A 5 | C ...
  #1 (permalink)  
Antiguo 09/09/2004, 14:24
 
Fecha de Ingreso: abril-2004
Mensajes: 56
Antigüedad: 20 años
Puntos: 0
Crear una consulta SQL con multiples COUNT

Hola amigos del foro

resulta que tengo la siguiente tabla con los campos "id" y "estado"

id| estado
-----------------
1 | A
5 | C
1 | A
1 | B
1 | B
3 | F
1 | C


Luego tengo que hacer que filtre los registros siempre que id=1, osea:

id | estado
-----------------
1 | A
1 | A
1 | B
1 | B
1 | C



Luego tengo que hacer que CUENTE cuantos regitros existen con la letra "A","B" y "C" y que me lo entregue en 3 campos distintos como aparece a continuación.

A | B | C
----------
2 | 2 | 1


¿Como lo puedo hacer en un solo juego de registros?

Es muy importante que el resultado lo muestre en 3 campos distintos para poder utilizar los 3 valores independientemente


De ante mano muchas gracias

necesito urgente su ayuda.

Salu2

PD: La tabla está en MySQL y trabajo con PHP
  #2 (permalink)  
Antiguo 09/09/2004, 15:06
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Esa pregunta tienes que hacerla en el foro de bases de datos.
Supongo que la moverán en cualquier momento:
----------------------------------------------------------

Lo que tienes que hacer es utilizar la cláusula GROUP BY
Algo como:
SELECT estado, COUNT(*) FROM tu_tabla GROUP BY id

Saludos
  #3 (permalink)  
Antiguo 09/09/2004, 15:26
 
Fecha de Ingreso: abril-2004
Mensajes: 56
Antigüedad: 20 años
Puntos: 0
Cita:
Iniciado por jpinedo
Esa pregunta tienes que hacerla en el foro de bases de datos.
Supongo que la moverán en cualquier momento:
----------------------------------------------------------

Lo que tienes que hacer es utilizar la cláusula GROUP BY
Algo como:
SELECT estado, COUNT(*) FROM tu_tabla GROUP BY id

Saludos

Hola Jpinedo, ya probe eso pero me entrega los resultado asi:


A | 2
B | 2
C | 1

Yo necesito que me los entrege en tres campos distintos para poderlos utilizar independientemente. algo así:

A | B | C
----------
2 | 2 | 1


De todas maneras gracias x tu ayuda

PD: Muy bueno tu "paginator" con las modificaciones de HiperJp quedo excelente... felicitaciones!!!!!!
  #4 (permalink)  
Antiguo 09/09/2004, 15:38
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
En ese caso harías dos consultas:

SELECT DISTINCT estado FROM tabla

SELECT COUNT(*) FROM tabla GROUP BY id

Aunque no sé si funcionará o si te los dará en el orden correcto.

Saludos
  #5 (permalink)  
Antiguo 09/09/2004, 15:43
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Aunque supongo que con un OREDER BY será suficiente para garantizar el orden:

SELECT DISTINCT estado FROM tabla ORDER BY estado

SELECT COUNT(*) FROM tabla ORDER BY estado GROUP BY id

Saludos
  #6 (permalink)  
Antiguo 12/05/2008, 19:48
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años
Puntos: 9
Re: Crear una consulta SQL con multiples COUNT

pues mira, si ya tienes

a | 2
b | 2
c | 1

(datos de ejemplo)

tu ya puedes trabajar esos datos e imprimirlos como gustes vex. puedes usar la etiqueta html TABLE para ayudarte a hacer esto, saludos y suerte
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 13:57.