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

Duda en SELECT

Estas en el tema de Duda en SELECT en el foro de Mysql en Foros del Web. Tengo una duda. Me imagino que debe haber una forma de hacer esto en una sola sentencia SQL. Lo que pasa es que quiero seleccionar ...
  #1 (permalink)  
Antiguo 11/11/2011, 08:11
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Duda en SELECT

Tengo una duda.

Me imagino que debe haber una forma de hacer esto en una sola sentencia SQL. Lo que pasa es que quiero seleccionar al usuario que tenga mensajes no leídos, pero no quiero que se repita el resultado... es decir, si tengo Juan Perez con 3 mensajes, no quiero que me devuelva Juan Perez 3 veces, sino que solo Juan Perez 1 vez y ojalá la cantidad de mensajes que tiene, algo así como "Juan Perez (3)"... se puede hacer en 1 solo select?

Gracias de antemano.
  #2 (permalink)  
Antiguo 11/11/2011, 09:37
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Duda en SELECT

Hola Feligo:

Esa consulta es básica en SQL, me sorprende que tengas que acudir a un foro a preguntar... Lee acerca de al función COUNT y del la cláusula GROUP BY

Saludos
Leo.
  #3 (permalink)  
Antiguo 11/11/2011, 09:44
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Duda en SELECT

Disculpa... pero cuando se pasa tiempo sin ocupar el lenguaje hay cosas que se olvidan.
  #4 (permalink)  
Antiguo 11/11/2011, 10:05
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: Duda en SELECT

Leonardo bien básica será pero no lo ayudaste solo viniste a pegarle xD!

Eso lo haces con Count y agrupas los registros para lo cual utilizas group by

la conulta te quedaría algo como

Código MySQL:
Ver original
  1. SELECT tabla_usuario.nombre_usuario, count(*)
  2. FROM tabla_mensajes
  3. INNER JOIN tabla_usuario
  4. condiciones_que_lo_vuelven_no_leido
  5. GROUP BY tabla_usuario.nombre

obviamente pones las condiciones de los join no se como lo haces tu, y las condiciones que hacen un mensaje no leido, etc.

saludos.
  #5 (permalink)  
Antiguo 11/11/2011, 10:08
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Duda en SELECT

Gracias por la ayuda, estaba leyendo material en internet de esas funciones... yo suelo programar solo en PHP, y pocas veces toco el SQL, pero ahora que estoy haciendo un sitio propio me doy cuenta de que harto código PHP se minimiza si se hace una buena consulta SQL... gracias por el tiempo.
  #6 (permalink)  
Antiguo 11/11/2011, 11:04
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Duda en SELECT

Cita:
Iniciado por Ribon Ver Mensaje
Leonardo bien básica será pero no lo ayudaste solo viniste a pegarle xD!
Te equivocas enormemente Ribon... mi intención no fue "pegarle" ni nada por el estilo, simplemente hice notar que la consulta básica y de hecho le indico exactamente lo que tienes que buscar de ayuda, que es justamente un COUNT y un GROUP BY como lo pones en tu ejemplo.

La idea de pedirle que lea es para que pueda darse cuenta de todas las opciones que ofrece el lenguaje, no solamente con el COUNT, sino con las demás funciones de agrupación (MIN, MAX, AVG, SUM) además podría observar la cláusula HAVING, que en tu ejemplo no mencionas y que seguramente le puede servir en el futuro. No hay que dar simplemente la respuesta y ya, lamentablemente muchos de los foristas tienen esa práctica.

Saludos
Leo.
  #7 (permalink)  
Antiguo 11/11/2011, 11:06
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Duda en SELECT

Tranquilo Leonardo... entendí tu respuesta, y eso fue lo que hice.

Si otro usuario quiere ayudarme de otra forma está bien... pero todavía estoy leyendo el manual de SQL en lo que esas funciones se refiere.

Gracias a todos igual, pueden cerrar.
  #8 (permalink)  
Antiguo 11/11/2011, 11:10
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Duda en SELECT

Hola de nuevo Feligo:

No estoy criticando el hecho de que otra persona te brinde otra ayuda, entre más personas apoyamos en los foros mucho mejor, simplemente estoy respondiendo a un comentario directo sobre mi persona.

Saludos
Leo.

Etiquetas: select, sql
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:10.