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

Sentencia mysql para agrupar.

Estas en el tema de Sentencia mysql para agrupar. en el foro de Mysql en Foros del Web. Hola buenas estoy buscando una sentencia mysql para hacer lo siguiente: Poseo una tabla con varias columnas entre las cuales hay una columna auto_increment y ...
  #1 (permalink)  
Antiguo 03/07/2007, 10:52
Avatar de radamantys  
Fecha de Ingreso: agosto-2006
Mensajes: 46
Antigüedad: 17 años, 8 meses
Puntos: 1
Pregunta Sentencia mysql para agrupar.

Hola buenas estoy buscando una sentencia mysql para hacer lo siguiente:

Poseo una tabla con varias columnas entre las cuales hay una columna auto_increment y una del tipo texto, esta ultima puede tener campos repetidos. Mi pregunta es si puedo extraer todas las filas de la tabla sin repetir ningun campo del tipo texto; en caso de que haya 2 o mas filas con el campo texto repetido extraiga la fila que tiene el campo auto_increment mas alto.

Ejemplo:
Código:
datos de una tabla:
campo id + campo texto+ campo 1+ campo 2 +
1        + casa          +     3      +     3       +  
2        + casa          +     3      +     3       + 
3        + coche         +     3      +     3       +   
4        + carro         +     3      +     3       +  

y la sentencia debe devolver:
campo id + campo texto+ campo 1+ campo 2 +
2        + casa          +     3      +     3       + 
3        + coche         +     3      +     3       +   
4        + carro         +     3      +     3       +
es decir entre las 2 filas con el mismo campo de texto coge la que tiene mayor id

He probado a usar en la sentencia:
Código PHP:
"SELECT * FROM tabla GROUP BY campo_texto ASC" 
pero devuele resultados extraños porque segun he leido para que no haya resultados imprevistos los campos del GROUP BY y los campos del SELECT deben coincidir. No se si me estoy explicando bien. Por si os sirve estoy utilizando la bd mysql 4.x y el lenguaje es PHP.

gracias de antemano

Última edición por radamantys; 03/07/2007 a las 11:06
  #2 (permalink)  
Antiguo 03/07/2007, 11:32
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Re: Sentencia mysql para agrupar.

Prueba:

Código:
select max(id) as id, campo_texto,campo1,campo2 from tabla group by campo_texto,campo1,campo2
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 07:52.