Vinzenz Mai: minimaler Abstand zwischen zwei Werten einer Spalte

Beitrag lesen

Hallo Ingrid,

Und zwar mit einem SELF-JOIN.
Kannst Du das etwas ausführen? Mein SQL-Wissen ist gering.

hab' ich extra für Dich geschrieben ;-)

als Verknüpfungskriterium könntest Du zum Beispiel wählen,
dass die ID der "ersten" Tabelle größer sein soll als die der "zweiten" Tabelle, damit Du die Kombination eines Datensatzes mit sich selbst ausschliesst.

Um nun den gewünschten Datensatz zu bekommen:
noch eine berechnete Spalte für die Differenz hinzufügen, nach dieser aufsteigend sortieren und die Ergebnismenge auf einen Datensatz limitieren.

Dabei kannst Du Dir das Problem einhandeln, dass es mehrere Kombinationen geben könnte, die die gleiche minimale Differenz aufweisen. Wenn Du in diesem Fall alle Kombinationen benötigst, so ermittle diese Datensätze mit einem Subselect (ab MySQL 4.1, geht also bei Dir).

Ach ja: Beachte bitte den Abschnitt "Beachten Sie:" in meinem Artikel :-)

Freundliche Grüße

Vinzenz