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

contar numero de mensajes

Estas en el tema de contar numero de mensajes en el foro de Mysql en Foros del Web. hola a todos haber si me pueden hacer el favor de ayudarme con esto tengo una tabla con lo siguientes campos message,doctorID,peopleID,status por ejemplo que ...
  #1 (permalink)  
Antiguo 21/03/2012, 14:35
Avatar de shake2427  
Fecha de Ingreso: julio-2011
Mensajes: 116
Antigüedad: 12 años, 9 meses
Puntos: 3
contar numero de mensajes

hola a todos

haber si me pueden hacer el favor de ayudarme con esto

tengo una tabla con lo siguientes campos

message,doctorID,peopleID,status
por ejemplo que tengan estos datos ingresados

message-doctorid--peopleID----status
prueba1-----1----------2----------no leido
prueba2-----1----------2----------no leido
prueba3-----1----------3----------no leido
prueba4-----1----------4----------no leido

necesito hacer una consulta que me muestren cuantos mensajes no leidos tienen cada persona(en este caso la persona esta identificada por el peopleID) por ej, en este caso me tendria que mostrar como resultado

peopleID-----mensajes no leidos
2 --------------- 2
3 --------------- 1
4 --------------- 1
  #2 (permalink)  
Antiguo 21/03/2012, 14:53
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: contar numero de mensajes

Hola hake2427:

Esta es una pregunta básica de SQL... se resuelve con un COUNT y poniendo la cláusula GROUP BY... me pregunto si al menos intentaste hacerlo... Si es así por qué no nos compartes algo del código que hiciste y te ayudamos a corregirlo, pero si ni siguiera intentaste hacer al consulta... sin palabras.

Saludos
Leo.
  #3 (permalink)  
Antiguo 21/03/2012, 15:00
Avatar de shake2427  
Fecha de Ingreso: julio-2011
Mensajes: 116
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: contar numero de mensajes

Cita:
Iniciado por leonardo_josue Ver Mensaje
Hola hake2427:

Esta es una pregunta básica de SQL... se resuelve con un COUNT y poniendo la cláusula GROUP BY... me pregunto si al menos intentaste hacerlo... Si es así por qué no nos compartes algo del código que hiciste y te ayudamos a corregirlo, pero si ni siguiera intentaste hacer al consulta... sin palabras.

Saludos
Leo.
obviamente si habia intentado algo, de todas formas gracias por lo que dijiste se me estaba olvidando la clausula GROUP BY, creo que ya lo solucione.

es asi si no estoy mal

Código MySQL:
Ver original
  1. SELECT COUNT(*) as valor,peopleID FROM (select * from patients_post a where status='no leido') as rest group by peopleID
  #4 (permalink)  
Antiguo 21/03/2012, 15:13
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: contar numero de mensajes

Hola de nuevo shake2427:

Tal vez a ti te parezca obvio que trataste de obtener la consulta, pero nosotros (o por lo menos yo) no soy adivino... en tu post no hay ningún indicio que me dijera que trataste de hacer la consulta por tu cuenta.

La consulta que pones se puede simplificar, no hay necesidad de hacer una subconsulta, el filtrado lo puedes hacer sobre la misma consulta. Checa este script:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM patients_post;
  2. +---------+----------+----------+----------+
  3. | message | doctorID | peopleID | status   |
  4. +---------+----------+----------+----------+
  5. | prueba1 |        1 |        2 | no leido |
  6. | prueba2 |        1 |        2 | no leido |
  7. | prueba3 |        1 |        3 | no leido |
  8. | prueba4 |        1 |        4 | no leido |
  9. +---------+----------+----------+----------+
  10. 4 rows in set (0.00 sec)
  11.  
  12. mysql> SELECT COUNT(*) AS valor,peopleID
  13.     -> FROM (SELECT * FROM patients_post a WHERE STATUS='no leido') AS rest
  14.     -> GROUP BY peopleID;
  15. +-------+----------+
  16. | valor | peopleID |
  17. +-------+----------+
  18. |     2 |        2 |
  19. |     1 |        3 |
  20. |     1 |        4 |
  21. +-------+----------+
  22. 3 rows in set (0.00 sec)
  23.  
  24. mysql> SELECT COUNT(peopleID) valor, peopleID
  25.     -> FROM patients_post
  26.     -> WHERE STATUS = 'no leido' GROUP BY peopleID;
  27. +-------+----------+
  28. | valor | peopleID |
  29. +-------+----------+
  30. |     2 |        2 |
  31. |     1 |        3 |
  32. |     1 |        4 |
  33. +-------+----------+
  34. 3 rows in set (0.00 sec)

El resultado es el mismo pero la consulta es más sencilla, pues haces todo en un solo paso.

Saludos
Leo.
  #5 (permalink)  
Antiguo 21/03/2012, 19:41
Avatar de shake2427  
Fecha de Ingreso: julio-2011
Mensajes: 116
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: contar numero de mensajes

gracias por la correcion.

Etiquetas: mensajes, numero, tabla, campos
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 20:28.