Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/07/2014, 09:54
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 4 meses
Puntos: 320
Respuesta: Obtener primer registro de cada grupo

Hola, no, no hay count, pero no me funciono ninguno de los dos metodos, si pongo el group by como menciona Patriarka, el registro que me retorna es el del medio no el primero, es decir:
39 30 7
32 60 2
2 10 6

La de gnzaloyo retorna cualquier dato, pero eso es por los campos de agrupamiento, permanencia es una cantidad en segundos, da la casualidad que son iguales, pero pueden ser todas diferentes, ubicacion es el lugar donde se van a mostrar, y id_publicidad no es la pk de esa tabla, ya que la misma publicidad puede aparecer en varias posiciones, la pk seria id_publicidad+posicion.
Me falto aclarar esos datos en la pregunta para evitar confuciones.

Por ahora encontre como resolverlo asi:

Código MySQL:
Ver original
  1. SELECT DISTINCT info.ubicacion, info.id_publicidad, info.permanencia
  2.     FROM
  3.     (
  4.       (SELECT id_publicidad, permanencia, ubicacion
  5.        FROM
  6.        -- Esta query son 65 lineas, no es relevante para el problema
  7.        ORDER BY ubicacion ASC
  8.     ) info, (SELECT @ult_ubicacion := 0) as init
  9.     WHERE IF(@ult_ubicacion=(@ult_ubicacion:=info.ubicacion), FALSE, TRUE)

Gracias por su ayuda
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios