SELECT
    CASE
        WHEN LAG(telefon) OVER (ORDER BY telefon) IS NULL THEN (
            SELECT telefon
            FROM kontakte
            ORDER BY id ASC
            LIMIT 1
        )
        ELSE LAG(telefon) OVER (ORDER BY telefon)
    END lastTelefon,
    telefon AS current,
    CASE
        WHEN LEAD(telefon) OVER (ORDER BY telefon) IS NULL THEN (
            SELECT telefon
            FROM kontakte
            ORDER BY id DESC
            LIMIT 1
        )
        ELSE LEAD(telefon) OVER (ORDER BY telefon)
    END nextTelefon
FROM kontakte
ORDER BY id ASC