Dichtstbijzijnde datum/tijd selecteren vanuit MySQL database

Status
Niet open voor verdere reacties.

BjorntobeWild

Gebruiker
Lid geworden
29 aug 2011
Berichten
120
Hoi,

Ik heb een MySQL database met daarin twee tabellen. In tabel A staan de volgende kolommen:
- Id
- datum
- tijd
- temperatuur

In tabel B staan de volgende kolommen:
- Id
- datum
- tijd
- flow

De tijdsinterval van de meetwaarden uit beide tabellen zijn verschillend. Ik wil nu van elk record vanuit tabel A de dichtstbijzijnde tijdwaarde vanuit tabel B selecteren.
Vervolgens wil ik van de temperatuur het gewogen gemiddelde berekenen.
Nu ben ik er wel achter hoe ik met een select statement vanuit tabel A de waarden moet ophalen waarbij de datum gelijk is in tabel B, maar hoe dat met de dichtstbijzijnde tijd moet is mij nog een raadsel. Ik zat te denken om het tijdsverschil te berekenen tussen de tijd in tabel A en tabel B (waarvan de datums gelijk zijn aan elkaar), deze (eventueel) oplopend te sorteren en dan de waarde met het kleinste tijdsverschil te selecteren. Hoe ik dat in een SQL statement moet zetten is mij onbekend.

De grootste uitdaging is nog het aantal records wat doorlopen moet worden. In tabel B zitten ruim 40.000 records.

Bij voorbaat dank.
 
Met wat googelen op "MySql Select Nearest" zie ik bijvoorbeeld dit.
Code:
ORDER BY DATEDIFF(hour, 'datum1', 'datum2')

Dit is niet het volledige antwoord maar misschien kan je ermee verder.
De interval kan ook een andere waarde hebben, bijv. second, minute, day, (of een langere tijd)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan