Vinzenz Mai: "benachbarte" Datensätze zurückgeben

Beitrag lesen

Hallo

id|kunde
1 otto
2 karl
3 oskar
4 heinz
5 peter
6 andreas

Nun möchte ich einen Datensatz ausgeben PLUS den davor und den danach.

Wenn ich also Datensatz 3 haben möchte, dann möchte ich folgendes ergebnis haben:

2 karl
3 oskar (wurde gesucht)
4 heinz

geht sowas mit mysql?

Wenn Du das Kriterium kennst, mit dem Du den vorhergehenden und nachfolgenden Datensatz identifizieren kannst, dann das sollte jeder SQL-Dialekt unterstützen, in Deinem Beispiel ist es trivial:

SELECT  
    id,  
    kunde  
FROM tabelle  
WHERE id [link:http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_between@title=BETWEEN] 2 AND 4

In anderen Fällen könnten Subselects (MySQL kann dies ab Version 4.1) dazu dienen, die angrenzenden Datensätze zu finden; es sollte auch mittels UNION und LIMIT gehen.

Was hat das Problem mit Toleranz zu tun?

Freundliche Grüße

Vinzenz