---
title: "Ta reda på närmsta posten uppe och nere?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/164714-ta-reda-på-närmsta-posten-uppe-och-nere"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Travoni"
published: "2007-09-20T23:54:27.000Z"
updated: "2007-09-21T07:22:25.000Z"
replies: 3
views: 503
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/164714-ta-reda-på-närmsta-posten-uppe-och-nere"
---

# Ta reda på närmsta posten uppe och nere?

## #1 — Travoni, 2007-09-20T23:54Z

Tabellen ser ut som följer:

```
[B]Id | Namn | kundId[/B]
1 | Kalle | 199
2 | Olle  | 203
3 | Arne | 209
```

Och är alltid sorterad på "kundid",
Om jag nu vill jag veta vilket id som ligger ovanför och under ex. id 2
Hur gör jag då?

Permalänk: https://www.webforum.nu/p/164714

## #2 — @nders, 2007-09-21T06:01Z

Exempelvis:

```
select top 1 id, 'ovanför' as foo from tabell where id < 2 order by id desc
union
select top 1 id, 'nedanför' from tabell where id > 2 order by id
```

edit: glömde en liten väsentlig del - begränsandet. Byt till limit om det är mysql såklart.

Permalänk: https://www.webforum.nu/p/2030272

## #3 — Travoni, 2007-09-21T06:55Z

Härligt, 
och i mysql blir det: 

```
(select id, 'ovanför' foo from tabell where id < 2 order by id desc limit 1) 
UNION
(select id, 'nedanför' from tabell where id > 2 order by id limit 1)
```

Tack @anders!
**/R**

Permalänk: https://www.webforum.nu/p/2030300

## #4 — Travoni, 2007-09-21T07:22Z

...eller, det förutsätter att id'na ligger i ordning vilket de inte gör.
Det enda som ligger i ordning är "kundId".
Men något sådant här kanske:

```
(select id, 'ovanför' foo from tabell where kundId < (select kundId from tabell WHERE id = 2) order by kundid desc limit 1) 
UNION
(select id, 'nedanför' from tabell where kundId > (select kundId from tabell WHERE id = 2) order by kundid limit 1)
```

Kanske går att göra en annan sql för det?

Permalänk: https://www.webforum.nu/p/2030304

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/164714-ta-reda-på-närmsta-posten-uppe-och-nere
