---
title: "Select Top Between 10 and 60"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10754-select-top-between-10-and-60"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Lukaspojken"
published: "2001-07-24T11:49:00.000Z"
updated: "2001-07-24T14:05:00.000Z"
replies: 10
views: 237
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/asp/10754-select-top-between-10-and-60"
---

# Select Top Between 10 and 60

## #1 — Lukaspojken, 2001-07-24T11:49Z

Fungerar inte detta i Access. Jag har testat också Select Top 10-60 men det vill inte fungera heller. Jag får felmeddelandet:

The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.

Det fungerar om man skriver Top 50...hmmm?

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

## #2 — @nders, 2001-07-24T11:53Z

select top 50 \* where id between 10 and 60

antar att det inte var det du menade dock. jag antar att du är lite ute efter det som i mysql kallas limit.

alternativt kan du köra en select top 60 och börja med att flytta dig 10 positioner ner i recordsetet innan du använder datan.

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

## #3 — LarsG, 2001-07-24T12:02Z

select top 50 \* from ogrish 
 where id not in (
    select top 10 id from ogrish
      order by id)
 order by id

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

## #4 — Lukaspojken, 2001-07-24T12:05Z

Jag försöker fixa ihop ett paging som inte hämtar hem alla 250 inlägg i array:n utan vid sida ett så hämtar den Top 50 och vid sida två top 51-100...men det verkar inte fungera som sagt.

Jag får väl göra så som du sa att jag hämtar in Top 100 på andra sidan och börjar sedan på 51. Kan man på något sätt skala bort de 50 första posterna i en array så att den 51:a blir på den första positionen i array:n?

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

## #5 — @nders, 2001-07-24T12:05Z

aahhh! bra tänkt där! :)

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

## #6 — Lukaspojken, 2001-07-24T12:18Z

Återigen...riktigt smart lösning av dig LarsG...:)

Men jag får det inte riktigt att fungera. Den skriver ut allt men de första tio posterna är med

```
strSQL = "SELECT TOP 50 ff.msgId, ff.msgFrom, ff.msgTopic, ff.msgRead, ffup.msgUpdate " & _
" FROM forum AS ff INNER JOIN forumUpdate AS ffup ON ff.msgID = ffup.msgID " & _
"WHERE ff.Thread_ID=0 NOT IN " & _
"(SELECT TOP 10 ff.msgId FROM forum WHERE ff.Thread_ID=0 ORDER BY ffup.msgUpdate DESC) " & _
"ORDER BY ffup.msgUpdate DESC"
```

Thread_ID = 0 står för huvudinlägg.

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

## #7 — LarsG, 2001-07-24T12:25Z

Din SQL-fråga ser suspekt ut

```
strSQL = "SELECT TOP 50 ff.msgId, ff.msgFrom, ff.msgTopic, ff.msgRead, ffup.msgUpdate " & _
" FROM forum AS ff INNER JOIN forumUpdate AS ffup ON ff.msgID = ffup.msgID " & _
"WHERE ff.Thread_ID=0 [b] and ff.msgID [/b]NOT IN " & _
"(SELECT TOP 10 ff.msgId FROM forum WHERE ff.Thread_ID=0 ORDER BY ffup.msgUpdate DESC) " & _
"ORDER BY ffup.msgUpdate DESC"
```

\--------------------------------------------------------------------------------

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

## #8 — @nders, 2001-07-24T12:26Z

så här kanske:

```
strSQL = "SELECT TOP 50 ff.msgId, ff.msgFrom, ff.msgTopic, ff.msgRead, ffup.msgUpdate " & _
" FROM forum AS ff INNER JOIN forumUpdate AS ffup ON ff.msgID = ffup.msgID " & _
"WHERE ff.Thread_ID=0 [b]AND ff.msgID[/b] NOT IN " & _
"(SELECT TOP 10 ff.msgId FROM forum WHERE ff.Thread_ID=0 ORDER BY ffup.msgUpdate DESC) " & _
"ORDER BY ffup.msgUpdate DESC"
```

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

## #9 — Lukaspojken, 2001-07-24T12:29Z

Så här skrev jag:

```
strSQL = "SELECT TOP 50 ff.msgId, ff.msgFrom, ff.msgTopic, ff.msgRead, ffup.msgUpdate " & _
" FROM forum AS ff INNER JOIN forumUpdate AS ffup ON ff.msgID = ffup.msgID " & _
"WHERE ff.msgId NOT IN " & _
"(SELECT TOP 10 ff.msgId FROM forum AS ff INNER JOIN forumUpdate AS ffup ON ff.msgID = ffup.msgID WHERE ff.Thread_ID=0 ORDER BY ffup.msgUpdate DESC) " & _
"AND ff.Thread_ID=0 ORDER BY ffup.msgUpdate DESC"
```

Nu verkar det som det fungerar...med din SQL-frågakonstruktion LarsG så kan man göra väldigt effektivt paging. Tack för att ni hjälpte mig.

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

## #10 — LarsG, 2001-07-24T12:37Z

Att det blir sådär effektivt tror jag inte. Limit-konstruktionen är mycket bättre i detta sammanhang.

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

## #11 — PatrikB, 2001-07-24T14:05Z

LarsGs variant kommer att söla ned mer än att hämta hem alla 250 inläggen och lägga dem i en array, om du kör mot Access.
Däremot under MS-SQL skulle den nog funka lite snabbare i en SP ;)

Jag testade den varianten när jag skulle fixa en paging till en sida som körs på chilliASP .... hej o hå så långsamt det gå.
Den varianten som jag har ligger under wF script är en variant som funkar ÄVEN på chilliASP

Men!!!
Den mest optimala pagingen, som jag testat, e gjord med ADODB.Recordset, och detta funkar inte så jäkla bra med chilliASP eftersom det inte har stöd för alla adodb.recordsetets metoder etc.

Om man nöjer sig med att endast ha \<\< Föregående &#0124; Nästa \>\> som länkalternativ så funkar din top x historia mycket bra.

cya,
PatrikB

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/10754-select-top-between-10-and-60
