Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-09-2007
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
Poder: 18
mcalmanovici Va por buen camino
Últimas tres fechas de un registro con la misma latitud y longitud

Hola gente:
tengo un gran problema para realizar una consulta en mysql......
Les comento:
en una tabla tengo los siguientes campos:
Barco, fecha, longitud, latitud.
Cada barco puede tener n fechas en la tabla.
Lo que estoy queriendo hacer es encontrar si de las tres últimas fechas que reporto un barco tiene la misma longitud y latitud. Es decir si el barco en las tres últimas fechas de reporte dio la misma latitud y longitud.
pense en hacer algo como:

select barco, fecha, longitud, latitud
from tabla_reporte_barco
group by barco

pero no sé como seguir para traerme las últimas tres fechas reportadas del barco y ver si tienen la misma longitud y latitud.

Si alguien me puede ayudar estaría muy agradecido ya que me estoy volviendo loco con esta consulta.

Muchas gracias.
Mariano.
Responder Con Cita
  #2  
Antiguo 20-09-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Antes debo decirte que no soy el experto con MySQL, pero prueba con la siguiente consulta y nos cuentas como te va:

Código SQL [-]
select barco, fecha, longitud, latitud
from tabla_reporte_barco
order by fecha DESC
LIMIT 1, 3
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 20-09-2007
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
Poder: 18
mcalmanovici Va por buen camino
No me sirve mucho

Gracias Jhony por contestar pero en realidad esa consulta me esta trayendo solo los primeros tres registros de la tabla...
Yo lo que necesito es saber por cada uno de los barcos si en las últimas tres fechas en las cuales reporto (o sea grabo en la tabla) lo hizo en la misma latitud y longitud....
Alguno más tiene idea de como puedo hacer o a vos mismo se te ocurre otra cosa...

Muchas gracias.
Mariano.
Responder Con Cita
  #4  
Antiguo 20-09-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Ahhh, Bueno, pues cambiamos el ordenamiento, asi:

Código SQL [-]
select barco, fecha, longitud, latitud
from tabla_reporte_barco
order by fecha ASC
LIMIT 1, 3

Espero que te sirva .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 20-09-2007
quimeras quimeras is offline
Miembro
 
Registrado: abr 2004
Posts: 86
Poder: 21
quimeras Va por buen camino
En Interbase/Firebird creo que sería esto:

Código SQL [-]
select barco, fecha, longitud, latitud, count(*)
from tabla_reporte_barco
group by barco, fecha, longitud, latitud
having count(*) > 2



Desconozco si funcionará en MySql


PD: Por cierto mi hobby es hacer barquitos de madera

Última edición por quimeras fecha: 20-09-2007 a las 16:04:59.
Responder Con Cita
  #6  
Antiguo 20-09-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
En FireBird 1.5 y 2.0.1, tambien me funcionaria asi:

Código SQL [-]
select First 3 barco, fecha, longitud, latitud, fecha
from tabla_reporte_barco
order by fecha

__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #7  
Antiguo 20-09-2007
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
Poder: 18
mcalmanovici Va por buen camino
a ver a ver...
eso me esta ordenando ascendentemente o descendentemente y me esta trayendo solo los últimos tres registros!!!... y yo creo que sino me expresé mal no quiero eso...
Sino que lo que quiero es que me traiga "todos los barcos" que tengan latitud y longitud iguales en los últimos tres reportes......
Te pongo un ejemplo:
Barco fecha latitud longitud
Barco1 22/08/2007 1 1
Barco1 21/08/2007 1 1
Barco1 20/08/2007 1 1
Barco2 20/09/2007 2 1
Barco2 21/09/2007 3 2
Barco3 22/09/2007 2 2
Barco3 23/09/2007 2 2
Barco3 24/09/2007 2 2

Por lo cual lo que me interesa que me traiga es el Barco1 y el Barco3 ya que estos en las últimas tres fechas reportaron la misma latitud y longitud. El Barco2 no me interesa ya que no tiene la misma latitud y longitud las últimas tres fechas..
No sé si pude aclarar un poco lo que quiero.

Gracias y perdon por las molestias.
Saludos.
Mariano.
Responder Con Cita
  #8  
Antiguo 20-09-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Ahh, entiendo, desafortunadamente no se me ocurre nada por el momento , habra que esperar a que otro compañero se le ocurra alguna cosa.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #9  
Antiguo 20-09-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Saludos, no hay que poner una condicion where? porque creo es la unica forma(segun yo), por ejemplo:

Código SQL [-]
select barco, fecha, longitud, latitud, fecha
from tabla_reporte_barco where longitud='condicion' and latitud='condicion'
group by barco, fecha, longitud, latitud order by fecha asc

o tambien puedes intentar este:

Código SQL [-]
select first 3 barco, fecha, longitud, latitud, fecha
from tabla_reporte_barco where longitud='condicion' and latitud='condicion'
group by barco, fecha, longitud, latitud order by fecha asc

espero te sirva.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Firebird y las últimas actualizaciones de Windows jjoliveras Firebird e Interbase 4 20-03-2007 21:51:17
Las últimas filas de un DBGrid CAF SQL 0 05-01-2006 12:05:01
Como copiar un registro en la misma tabla... ilichhernandez Conexión con bases de datos 3 19-12-2005 17:31:25
Como trabajar con tres BD diferentes en una misma aplicacion valera Conexión con bases de datos 1 26-10-2005 03:37:09
A fechas iguales tomar el registro mayor Ignacio SQL 6 14-11-2004 00:46:30


La franja horaria es GMT +2. Ahora son las 17:20:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi