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

[SOLUCIONADO] contar registros segun valor de un campo

Estas en el tema de contar registros segun valor de un campo en el foro de Mysql en Foros del Web. hola gente necesito contar la cantidad de registros que tienen en comun el valor de un campo, en mis caso de un usuario concreto contar ...
  #1 (permalink)  
Antiguo 15/04/2013, 08:55
 
Fecha de Ingreso: octubre-2012
Ubicación: Rio Cuarto,Cordoba,Argentina
Mensajes: 139
Antigüedad: 11 años, 5 meses
Puntos: 0
contar registros segun valor de un campo

hola gente necesito contar la cantidad de registros que tienen en comun el valor de un campo, en mis caso de un usuario concreto contar la cantidad de registros en el cual el campo "estado" es igual a 0(cero). lo que tengo es lo siguiente:
Código MySQL:
Ver original
  1. SELECT estado_incid
  2. FROM incidencias_db
  3. WHERE asignadoa_incid='$nombreUs'

Cita:
Adeitado: Codigo de programacion no permitido.
espero se entienda,saludos
__________________
Juan Pablo A. S.

Última edición por gnzsoloyo; 15/04/2013 a las 09:55 Razón: No se permite código de programacion en los foros de bases de datos (normas del foro).
  #2 (permalink)  
Antiguo 15/04/2013, 10:00
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: contar registros segun valor de un campo

En realidad, llevandolo a SQL, tu problema es muy sencillo:
Código MySQL:
Ver original
  1. SELECT SUM(IF(estado_incid = 0, 1, 0)) Total_en_0
  2. FROM incidencias_db
WHERE asignadoa_incid='$nombreUs'
o bien, si quieres agruparlos por valores:
Código MySQL:
Ver original
  1. SELECT estado_incid, COUNT(1) TotalVariacion
  2. FROM incidencias_db
  3. WHERE asignadoa_incid='$nombreUs'
  4. GROUP BY estado_incid
O si quieres saber cuantos son ceros y cuántos mayor a cero:
Código MySQL:
Ver original
  1. SELECT SUM(IF(estado_incid = 0, 1, 0)) Total_en_0, SUM(IF(estado_incid > 0, 1, 0)) Total_mayor_0
  2. FROM incidencias_db
  3. WHERE asignadoa_incid='$nombreUs'
Hay muchas formas de hacerlo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 15/04/2013, 12:43
 
Fecha de Ingreso: octubre-2012
Ubicación: Rio Cuarto,Cordoba,Argentina
Mensajes: 139
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: contar registros segun valor de un campo

lo solucione de la otra forma, pero esta muy bueno con sql puro, no lo tenia en cuenta, hay algun motivo por el cual sea mejor una forma u otra?
__________________
Juan Pablo A. S.
  #4 (permalink)  
Antiguo 15/04/2013, 12:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: contar registros segun valor de un campo

Pues es una consecuencia razonable.
El proceso que hiciste en programación requiere:
1) Enviar a pedir cierto tipo de datos.
2) Realizar la consulta de todos los registros que cumplan con ese parámetro.
3) Que el DBMS devuelva por la red N registros que cumplen con lo solicitado.
4) Procesar N ciclos de un array de N dimensiones, valor por valor, y ocupando N ciclos de procesador.
5) Obtener el resultado y mostrarlo.

Contra:
1) Enviar a realizar un cálculo con cierto parámetro.
2) Que el DBMS obtenga el valor final que cumple con lo solicitado en un único registro y lo envíe de retorno.
3) Obtener el resultado y mostrarlo.

¿Cuál prefieres?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campo, registros, select, sql, valor
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 04:40.