---
title: "Select top 5 * - fast tvärtom?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10930-select-top-5-fast-tvärtom"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "jimpa"
published: "2001-08-05T10:32:00.000Z"
updated: "2001-08-05T13:14:00.000Z"
replies: 20
views: 287
page: 1
pages: 2
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/asp/10930-select-top-5-fast-tvärtom"
---

# Select top 5 * - fast tvärtom?

_Sida 1 av 2._

## #1 — jimpa, 2001-08-05T10:32Z

Hej,

Hur skriver man SQL-frågan om man vill visa dom 5 lägsta värderna från en tabell?

Mvh

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

## #2 — Tobbster, 2001-08-05T11:10Z

Är det inte bara att skriva 

```
Select top 5 * from tabelnamn Order by kolumnnamn desc
```

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

## #3 — cyprys, 2001-08-05T11:17Z

Jo ;)

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

## #4 — LarsG, 2001-08-05T11:22Z

Nej, 

```
Select top 5 * from tabelnamn Order by kolumnnamn [b]asc[/b]
```

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

## #5 — Tobbster, 2001-08-05T11:26Z

Men är inte asc default.....

Men det stämmer som LarsG skriver...
I bland svara man innan man tänkt....

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

## #6 — cyprys, 2001-08-05T11:28Z

Was ist das asc?

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

## #7 — Tobbster, 2001-08-05T11:33Z

asc är stigande ordning och Desc fallande.....

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

## #8 — LarsG, 2001-08-05T11:34Z

Jo asc är default, så man kan utelämna det, om man vil.

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

## #9 — cyprys, 2001-08-05T11:36Z

DESC var det naturliga svaret när man inte tänker på frågan. :r

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

## #10 — Erik Juhlin, 2001-08-05T12:08Z

Men om man vill hämta de fem med högst värde, men ordna dem ascending..?

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

## #11 — LarsG, 2001-08-05T12:15Z

Ett ineffektivt sätt

```
select * from ogrish where id in (select top 5 id from ogrish order by id desc) order by id asc
```

Annars kan göra

```

sql = "select top 5 * from ogrish order by id desc"
set rs = server.createobject("adodb.recordset")
rs.open sql,connection,2
rs.movelast
while not rs.bof
'skriv
rs.moveprevious
wend
```

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

## #12 — Erik Juhlin, 2001-08-05T12:31Z

Okej, men kan man välja de 10 högsta värdena och sen av de tio välja de fem lägsta och ordna de ascending?
Vill lära mig "nästla" sql frågor.

Tänkte man kunde använda det till paging. Borde bli bättre prestanda än att hämta allt och sen använda rs.Move X..

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

## #13 — LarsG, 2001-08-05T12:38Z

Jo du kan ju nästa godtyckligt, men att använda det till paging är nog inte så bra. Join kostar ganska mycket speciellt om man använder not in som det blir om man vill ha det till paging). PatrikB gjorde lite mätningar på det och kom fram till att det var bättre att inte använda den metodiken. Disconnectade recordset/getrows är nog bättre

(För att svara på din fråga dock.)

```

select top 5 * from ogrish where id in (select top 10 id from ogrish order by id desc) order by id asc
```

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

## #14 — Bender, 2001-08-05T12:39Z

Det är väl så LarsG har gjort i sitt tidigare svar, bara att lägga till ytterligare en top-sats i den yttre SQL-satsen?

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

## #15 — Erik Juhlin, 2001-08-05T12:41Z

Jo jag upptäckte nyss det. :)

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

## #16 — Bender, 2001-08-05T12:45Z

En off-topic fråga, verkar som många här skriver sina SQL-satser på en rad - varför? Måste bli väldigt jobbigt när uttrycken växer och man jobbar med några nästlade frågor...

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

## #17 — Erik Juhlin, 2001-08-05T12:46Z

Hmm, går det inte att skriva så här:

```
select top (select count(postid) from tblpost) * from tblpost
```

Meningslöst som det är skrivet nu. Men skulle man göra om lite så hade den kunnat vara användbar..

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

## #18 — LarsG, 2001-08-05T13:00Z

Nej, argumentet till top måste vara en konstant.

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

## #19 — Erik Juhlin, 2001-08-05T13:01Z

När jag skriver mina frågor i Query Analyzern så skriver jag alltid dem på flera rader. Sen när jag läger in SQL-strängen i VB-koden så brukar jag om jag tycker det är nödvändigt radbryta så här:

```
sql =	"SELECT tblPost.*, tblForum.*, " & _
	"(SELECT COUNT(*) FROM tblPost) AS PostCount FROM tblPost " & _
	"INNER JOIN tblForum ON tblPost.ForumId = tblForum.ForumId " & _
	"WHERE PostId > 10 " & _
	"ORDER BY PostId ASC"
```

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

## #20 — Erik Juhlin, 2001-08-05T13:02Z

Okej.. :l

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/10930-select-top-5-fast-tvärtom  
Nästa sida: https://www.webforum.nu/amne/asp/10930-select-top-5-fast-tvärtom/page2.md
