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

hacer que un campo repetido lo cuente como 1 solo

Estas en el tema de hacer que un campo repetido lo cuente como 1 solo en el foro de Mysql en Foros del Web. Hola buenas tardes, estoy realizando un foro, para un trabajo de clase y tengo una tabla llamada mensajes, que esta relacionado por id con los ...
  #1 (permalink)  
Antiguo 01/08/2010, 11:09
 
Fecha de Ingreso: marzo-2006
Mensajes: 75
Antigüedad: 18 años, 1 mes
Puntos: 1
hacer que un campo repetido lo cuente como 1 solo

Hola buenas tardes, estoy realizando un foro, para un trabajo de clase y tengo una tabla llamada mensajes, que esta relacionado por id con los temas que se han creado, id_tema.

Entonces un usuario en la tabla mensajes puede tener múltiples mensajes relacionadas con la misma id_tema.

¿Si yo quisiera saber en cuantos temas a escrito ese usuario como evito que me liste los id_tema repetidos?

Yo hago esta consulta por ejemplo:
SELECT id_tema FROM mensajes where user='".$_SESSION['user_reg']."'"

el resultado es que me da 16 consultas, pero claro, de esas 16, en realidad esta en 4, ya que las id_tema se repiten para estos 16 mensajes.

¿alguien sabe alguna forma de dicerle que un id_tema si ya esta consultado no me lo cuente?

Gracias!!!
  #2 (permalink)  
Antiguo 01/08/2010, 11:42
 
Fecha de Ingreso: marzo-2006
Mensajes: 75
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: hacer que un campo repetido lo cuente como 1 solo

Hola, he estado indagando y ahora he conseguido saber cuantos id_tema tiene asociados sin que se repitan:

SELECT COUNT(DISNTINCT id_tema) FROM mensajes WHERE user='ikkla';

El resultado es 12, que es correcto, hay 12 temas en los que participa este usuario, pero ahora como los puedo sacar, solo me da el numero, pero yo quiero listar los temas...

Etiquetas: repetido, 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 11:09.