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.
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.