---
title: "ta bort efter 30"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/99752-ta-bort-efter-30"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "dendålige"
published: "2004-03-18T12:39:56.000Z"
updated: "2004-03-20T15:22:46.000Z"
replies: 13
views: 441
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/99752-ta-bort-efter-30"
---

# ta bort efter 30

## #1 — dendålige, 2004-03-18T12:39Z

Vill ta bort alla inlägg som är äldre än dom 30 nyaste...
får det inte att fungera...

SQL = "DELETE FROM mess Order by datum Desc limit 30"

får bara:

\[TCX\]\[MyODBC\]You have an error in your SQL syntax near 'order by datum DESC limit 30' at line 1 

(MySQL)

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

## #2 — OveRRidE, 2004-03-18T12:41Z

Flyttas från ASP, VBScript.

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

## #3 — SPiN, 2004-03-18T12:51Z

Vilken version av MySQL använder du?

```
DELETE FROM mess
WHERE id NOT IN (
     SELECT id
     FROM mess
     ORDER BY id DESC
     LIMIT 30
);
```

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

## #4 — dendålige, 2004-03-18T13:02Z

hmmm funkade inte så bra det där heller... har 3.14 eller något sådant tror jag...

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

## #5 — dendålige, 2004-03-18T14:08Z

3\.23 är det...

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

## #6 — LarsG, 2004-03-18T14:40Z

Då får du först hämta de 30 med nyaste ID och sedan bygga 
en delete fråga

```
delete from t where id not in (1,2,47,11,34,...)
```

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

## #7 — dendålige, 2004-03-18T19:39Z

det går inte bara att ta bort dom som är äldre en dom 30 nyaste?

om inte, hur ska man ta reda på dom 30 nyaste id nummrena då? på ett smidigt sett?

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

## #8 — @nders, 2004-03-18T19:40Z

```
SELECT ID FROM mess ORDER BY ID DESC LIMIT 30
```

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

## #9 — dendålige, 2004-03-18T19:46Z

okey... hur ska jag köra på den sen då? behöver jag inte loopa ut dom 30 då?
och sen köra dom i delete sql frågan?

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

## #10 — @nders, 2004-03-18T19:47Z

Jo, du måste loopa ut dem till en kanonläcker sträng som du sedan använder i din DELETE-fråga.

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

## #11 — dendålige, 2004-03-18T19:53Z

fyfan alltså... vad onödigt... och detta bara för man inte har den senaste versionen? 
hmm... ska försöka fixa loopen och det när jag kommer hem då... 
hmm... hur ska den se ut ungefär?

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

## #12 — @nders, 2004-03-18T19:57Z

typ:

```
' öppna connectionobjekt
' öppna recordsetobjekt

while not recordsetobjektet.eof
     strIDs = strIDs & "," & recordsetobjektet(0)
     recordsetobjektet.movenext
wend
strIDs = Right(strIDs, Len(strIDs)-1)
```

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

## #13 — asp, 2004-03-20T13:02Z

Fråga, går inte detta?

```
DELET TOP 30 * FROM [tabell] ORDER BY id ASC
```

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

## #14 — LarsG, 2004-03-20T15:22Z

Svar:

Nej.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/99752-ta-bort-efter-30
