---
title: "Sortera fram rätt rader?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/138730-sortera-fram-rätt-rader"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Donatello"
published: "2005-12-04T11:16:25.000Z"
updated: "2005-12-05T04:09:46.000Z"
replies: 6
views: 466
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/138730-sortera-fram-rätt-rader"
---

# Sortera fram rätt rader?

## #1 — Donatello, 2005-12-04T11:16Z

Hej hå...

Har suttit å letat ett tag utan att hitta någon lösning på mitt lilla problem. 

Databasexempel:

ID   värde1  värde2  värde3
1    456       213      486
2    4564     45        545
3    5          523      1
4    5132     12        58
5    513       531      865
6    488       43        0
7    696       521      85
8    5321      8531    96 
9    8524      0         63
10  52          41       991
11  112        358      945
12  54          32       563
13  889        962      453
14  851        33        562
15  428        5321     058

Vill kunna plocka fram en hög om fem rader var som helst ur databasen, exempelvis ID sex till tio. Såg en lösning för läääänge sen, men den har fallit i glömska. Var något i stil med:
"SELECT BOTTOM {antalet poster mellan EOF och ID6} \* FROM tabellen (INNER JOIN TOP 5 something like this ORDER BY ID DESC) ORDER BY ID ASC"

Kan någon säga om jag är på rätt spår?   :)

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

## #2 — LarsG, 2005-12-04T15:36Z

```
select *
 from t
where id between 6 and 10
```

Då jag förmodligen missförstår detta så kan du väl förklara lite bättre.

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

## #3 — Donatello, 2005-12-04T20:25Z

Problemet med din lösning är att man får ut ID 6-10, inte rad nr 6-10 räknat uppifrån. Tas ex.vis ID 7 och 8 bort får jag ju bara ut tre poster.

Nytt exempel:

ID
1
2
3
7
12
13
14
18
22
23
25
26
28
29
31

Jag har en sida som ska visa annonser på sidor om fem annonser, med den senast införda (nedersta) först. Första sidan blir enkel. SELECT BOTTOM 5... Men sen när jag vill få ut ex.vis ID 23, 22, 18, 14 och 13 för sida två, så strular det till sig.

Hänger du med..?

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

## #4 — LarsG, 2005-12-04T20:36Z

Att prata om radnummer och uppifrån eller nerifrån är inte applicerbart för en relationsdatabas. ;)

```
select top 5 *
from t
where id not in 
  (select top 5 id 
      from t
     order by id desc)
  order by id desc
```

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

## #5 — Donatello, 2005-12-04T21:54Z

> Att prata om radnummer och uppifrån eller nerifrån är inte applicerbart för en relationsdatabas.

Har aldrig påstått att jag inte är bakom flötet. ;)
Det där var precis vad jag letade efter. Tack! :)

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

## #6 — Dies_Irae, 2005-12-04T22:39Z

är inte "SELECT \* FROM t LIMIT 6,5" bättre?

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

## #7 — @nders, 2005-12-05T04:09Z

> **Dies_Irae skrev:**
>
> är inte "SELECT \* FROM t LIMIT 6,5" bättre?

Om det hade varit tal om MySQL kanske det hade varit en fin lösning. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/138730-sortera-fram-rätt-rader
