signorpiccolo: Wie finde ich mit SQL den "am nächsten gelegenen" Wert?

Beitrag lesen

Liebe Gemeinde,

wie finde ich mit SQL den Datensatz, dessen Wert in einer bestimmten Spalte einem vorgegeben Wert am nächsten ist?

Beispiel: Eine Tabelle, die unter "Wert" den Stand meines Stromzählers enthält und unter "Datum" den Timestamp des Ablesedatums (s.u.). Nach einem halben Jahr weiß ich natürlich nicht mehr, wann genau ich abgelesen habe. Also will ich wissen: Gib mir die Nummer des Datensatzes, dessen Datum am nächsten z.B. am 1.7.2006 dran liegt. Aber ich bin zu blöd. Könnt Ihr mir helfen? Danke!

+---------+-------+------------+
| ID      | Wert  | Datum      |
+---------+-------+------------+
| 1-59067 | 59067 | 1126476000 |
| 1-59460 | 59460 | 1141426800 |
| 1-59465 | 59465 | 1141599600 |
| 1-59492 | 59492 | 1142550000 |
| 1-59511 | 59511 | 1142982000 |
| 1-59586 | 59586 | 1146261600 |
| 1-59775 | 59775 | 1154692800 |
| 1-59813 | 59813 | 1155938400 |
| 1-59814 | 59814 | 1156111200 |
| 1-59831 | 59831 | 1156716000 |
| 1-59843 | 59843 | 1157320800 |
| 1-59853 | 59853 | 1157925600 |
+---------+-------+------------+