Hallo Forum, ich bin fast am Verzeifeln. Ich habe jetzt fast 2 Tage lang versucht, meine Abfrage richtig zu formulieren, und nach tage- (und nächte-) langem Suchen auf dem Internet bin ich noch immer nicht schlau geworden. Vielleicht ist jemand so nett, und gibt mir einen Tipp...
Es ist so, ich habe eine Tabelle "vehicles" mit folgenden Kolonnen:
id ¦Name ¦ Vorname ¦ startort ¦ ankunftsort ¦ ankunfts_timestamp ¦ telefonnr
daraus möchte ich die Telefonummer der Person, die das kleinste Zeitintervall zwischen "ankunfts_timestamp" (vom Typ timestamp) und jetzt (now()) aufweist.
Ich habe vieles versucht, aber zum Beispiel:
SELECT telefonnr
FROM vehicles
WHERE ABS(TIME_TO_SEC(TIMEDIFF(ankunfts_timestamp, now()))) < 600;
benutzt, das gibt mir die Prima Liste aller Telefonnummern, bei welchen die Zeitdifferenz kleiner als 10min (600sekunden) ist. Nun möchte ich aber nicht alle, sondern nur eine Telefonnummer, und eben die mit dem kleinsten absoluten Zeitintervall zwischen ankunfts_timestamp und now() unter dieser Auswahl (kleiner als 600s). Ich habe versucht MIN() zu benutzen, indem ich MIN(ABS(TIME_TO_SEC.... usw benutzt habe, aber das geht natürlich nicht. Hat mir jemand einen Vorschlag?
Vielen Dank im Voraus für jegliche Hilfe!
Es ist so, ich habe eine Tabelle "vehicles" mit folgenden Kolonnen:
id ¦Name ¦ Vorname ¦ startort ¦ ankunftsort ¦ ankunfts_timestamp ¦ telefonnr
daraus möchte ich die Telefonummer der Person, die das kleinste Zeitintervall zwischen "ankunfts_timestamp" (vom Typ timestamp) und jetzt (now()) aufweist.
Ich habe vieles versucht, aber zum Beispiel:
SELECT telefonnr
FROM vehicles
WHERE ABS(TIME_TO_SEC(TIMEDIFF(ankunfts_timestamp, now()))) < 600;
benutzt, das gibt mir die Prima Liste aller Telefonnummern, bei welchen die Zeitdifferenz kleiner als 10min (600sekunden) ist. Nun möchte ich aber nicht alle, sondern nur eine Telefonnummer, und eben die mit dem kleinsten absoluten Zeitintervall zwischen ankunfts_timestamp und now() unter dieser Auswahl (kleiner als 600s). Ich habe versucht MIN() zu benutzen, indem ich MIN(ABS(TIME_TO_SEC.... usw benutzt habe, aber das geht natürlich nicht. Hat mir jemand einen Vorschlag?
Vielen Dank im Voraus für jegliche Hilfe!
Zuletzt bearbeitet: