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

Consulta sobre usar el max en valores repetidos

Estas en el tema de Consulta sobre usar el max en valores repetidos en el foro de SQL Server en Foros del Web. Estoy desarrollando una consulta que necesito hacer el maximo valor por cada placa, el tema es que uso group by pero cuando pongo solo el ...
  #1 (permalink)  
Antiguo 13/11/2015, 09:27
 
Fecha de Ingreso: diciembre-2010
Mensajes: 24
Antigüedad: 13 años, 4 meses
Puntos: 0
Consulta sobre usar el max en valores repetidos

Estoy desarrollando una consulta que necesito hacer el maximo valor por cada placa,
el tema es que uso group by pero cuando pongo solo el campo placa y el maximo de valor si me sale,
pero cuando quiero visualizar los demas campos por ejemplo marca y modelo
me sale de nuevo repetitivo.

Necesito pautas del uso de es funcion o que opciones mas hay, por que estaba pensando poner distinct pero igual solo funciona con un campo y agrego mas se visualizo de nuevo.

  #2 (permalink)  
Antiguo 13/11/2015, 09:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta sobre usar el max en valores repetidos

No puedes hacer eso con una consulta simple de SELECT agrupada. Hay que definir mejores condiciones, e incluso es posible que convenga usar subconsultas en el WHERE, por ejemplo.
Postea la query tal y como la estás usando ahora. Completa.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 13/11/2015, 10:48
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta sobre usar el max en valores repetidos

Podrias hacer algo como esto:

digamos que los campos que marcaste son placa e id ;)

Código SQL:
Ver original
  1. SELECT * FROM tabla AS t1
  2. LEFT JOIN
  3. (SELECT MAX(id) AS id, placa FROM tabla GROUP BY placa) AS t2 ON (t1.id=t2.id AND t1.placa=t2.placa)

Con eso obtienes los valores como los necesitas :)

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: max, repetidos, usar
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 12:22.