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

[SOLUCIONADO] Consulta only_full_group_by

Estas en el tema de Consulta only_full_group_by en el foro de Mysql en Foros del Web. Buenas noches, Tengo una tabla `usuarios` Id | Anho | Iden | * 1 | 2015 | 1111 | * 2 | 2014 | 1111 ...
  #1 (permalink)  
Antiguo 03/04/2017, 20:53
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 8 años, 11 meses
Puntos: 1
Sonrisa Consulta only_full_group_by

Buenas noches,

Tengo una tabla `usuarios`

Id | Anho | Iden | *
1 | 2015 | 1111 | *
2 | 2014 | 1111 | *
3 | 2013 | 1111 | *
4 | 2016 | 2222 | *
5 | 2017 | 2222 | *

y lo que busco es que me arroje todos los valores de las demás columnas, agrupado por Iden y que sean los datos del ultimo año, esto es lo que espero

Id | Anho | Iden | *
1 | 2015 | 1111 | *
5 | 2017 | 2222 | *

y al realizar esta consulta

SELECT U.`Id`,U.`Anho`,U.`Iden` FROM `usuarios` U GROUP BY `Iden` ORDER BY U.`Iden` ASC

me arroja error error por only_full_group_by, lo corrijo

SELECT MAX(U.`Id`),MAX(U.`Anho`),U.`Iden` FROM `usuarios` U GROUP BY `Iden` U ORDER BY `Iden` ASC

y el resultado es

Id | Anho | Iden
3 | 2015 | 1111
5 | 2017 | 2222

De antemano, gracias por la ayuda.

Última edición por royerromero; 04/04/2017 a las 00:29
  #2 (permalink)  
Antiguo 04/04/2017, 08:28
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.404
Antigüedad: 13 años, 3 meses
Puntos: 774
Respuesta: Consulta only_full_group_by

con algo como esto sacas lo que necesitas:



Código MySQL:
Ver original
  1. select t1.* from usuarios as t1
  2. select max(anho) as m_anho,iden from usuarios group by iden) as t2 on (t1.iden=t2.iden and t1.anho=t2.anho)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 04/04/2017, 21:49
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: Consulta only_full_group_by

Cita:
Iniciado por Libras Ver Mensaje
con algo como esto sacas lo que necesitas:



Código MySQL:
Ver original
  1. select t1.* from usuarios as t1
  2. select max(anho) as m_anho,iden from usuarios group by iden) as t2 on (t1.iden=t2.iden and t1.anho=t2.anho)
Como anillo al dedo, muchas gracias...

Etiquetas: select, tabla
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 19:54.